Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ligianelc

Implementar uso de transações em tabelas InnoDB

Recommended Posts

Olá a todos, :) gostaria de saber como utilizo comandos para implementar o uso de transações no mySql em tabelas InnoDB, que é o tipo onde isso é possível!Quais os comandos para iniciar, confirmar e cancelar transações InnoDB do MySql no PHP?Espero que alguém possa me ajudar, isso é muito importante pra mim!Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ligianelc,

 

Eu uso um programa chamado DB Design, você pode fazer o download dele em http://www.fabforce.net, este programa ajuda você a modelar seu banco de dados, nele você modela seu banco, gera dicionario de dados, uma imagem (PNG ou BMP) da sua modelagem, gera o $sql de criação para vários bancos, para o mysql você escolhe se você deseja utilizar o MyIsam ou InnoDB. A o melhro de tudo, tem tradução para português. Vale a pena!

 

Caso não queira segue abaixo a sua resposta:

 

- Criei um banco de dados para você ver como funciona, ou seja, muda apenas 1 palavra. Segue abaixo:

 

CREATE TABLE produto (

id_produto INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

nome_produto VARCHAR(45) NULL,

fabricante VARCHAR(45) NULL,

PRIMARY KEY(id_produto)

)

TYPE=InnoDB;

 

CREATE TABLE cliente (

id_cliente INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

nome VARCHAR(45) NULL,

rg INTEGER UNSIGNED NULL,

cic INTEGER UNSIGNED NULL,

data_nascimento DATE NULL,

PRIMARY KEY(id_cliente)

)

TYPE=InnoDB;

 

CREATE TABLE pedido (

idpedido INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

produto_id_produto INTEGER UNSIGNED NOT NULL,

cliente_id_cliente INTEGER UNSIGNED NOT NULL,

PRIMARY KEY(idpedido),

INDEX pedido_FKIndex1(cliente_id_cliente),

INDEX pedido_FKIndex2(produto_id_produto),

FOREIGN KEY(cliente_id_cliente)

REFERENCES cliente(id_cliente)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

FOREIGN KEY(produto_id_produto)

REFERENCES produto(id_produto)

ON DELETE NO ACTION

ON UPDATE NO ACTION

)

TYPE=InnoDB;

 

Neste Banco eu fiz o seguinte, criei uma tabela cliente, pedido e uma produto. Na tabela pedido repare que existe 2 chave estrangeira, cliente_id_cliente e produto_id_produto, ou seja, para você gravar algo na tabela pedido, você precisa ter necessáriamente algo cadastro em cliente e produtos. Então conclui-se que os itens gravados em pedido na coluna cliente_id_cliente faz referência a algum item da tabela cliente e produto_id_produto faz referência a algum item da tabela produto.

 

Bem espero ter ajudado,

 

Qualquer dúvida estou a disposição, você pode me encontrar via e-mail ou msn ambos no endereço junior@bravanet.com.br

 

Abraço,

 

Júnior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Bravanet...já estou usando o DBDesigner... a minha base de dados já está toda criada com tabelas InnoDB, com constraints, foreing keys etc... o que está faltando é eu saber quais os comandos em PHP pra eu iniciar transações, confirmar (commit) e retornar (rollback).Tem como você me ajudar? Te add no msn ok?! o meu eh ligianelc@hotmail.comObrigada.Obs.: Quem puder me dar essa forcinha, ficarei muito feliz! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.