-
Total de itens
4 -
Registro em
-
Última visita
Posts postados por flvMoreno
-
-
Constraints são restrições que tem por objetivo impedir que seu banco de dados fique inconsistente.
O Engine InnoDB permite que você faça constraints no banco, através das cláusulas Foreign Key e Constraint, que impedem que acidentalmente se remova e/ou altere dados em uma tabela pai e acabe deixando a tabela filha sem vínculo.
Um outro engine, muito utilizado pelo MySQL, é o MyISAM. Este engine não faz constraints ao nível do banco.
Entendo... por estar iniciando agora trabalhos com mysql, acredito que tenha bastante coisa para aprender
de qualquer maneira agradeço a todos, muito obrigado pela explicação Denis.
abraço.
-
Eu nunca trabalhei com tabelas em InnoDB, mas essas duas consultas funcionaram para mim.
CREATE TABLE IF NOT EXISTS `CAD_FORNECEDOR` ( `ID_CAD_FORNECEDOR` INT NOT NULL AUTO_INCREMENT , PRIMARY KEY (`ID_CAD_FORNECEDOR`) ) ENGINE = InnoDB; CREATE TABLE IF NOT EXISTS `MOV_ENTRADA` ( `ID_MOV_ENTRADA` INT NOT NULL AUTO_INCREMENT , `DATA_MOV_ENTRADA` DATETIME NULL , `VLRLIQUIDO_MOV_ENTRADA` DECIMAL(15,2) NULL , `VLRBRUTO_MOV_ENTRADA` DECIMAL(15,2) NULL , `NR_MOV_ENTRADA` INT NULL , `VLRDESC_MOV_ENTRADA` DECIMAL(15,2) NULL , `ID_CAD_FORNECEDOR` INT NULL , PRIMARY KEY (`ID_MOV_ENTRADA`) , INDEX `ID_CAD_FORNECEDOR_idx` (`ID_CAD_FORNECEDOR` ASC) , CONSTRAINT `ID_CAD_FORNECEDOR` FOREIGN KEY (`ID_CAD_FORNECEDOR` ) REFERENCES `CAD_FORNECEDOR` (`ID_CAD_FORNECEDOR` ) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE = InnoDB;
Eu utilizo Xubuntu versão 12.04MySQL 5.5.32-0ubuntu0.12.04.1Conjunto de caracteres MySQL: UTF-8 Unicode (utf8)Apache/2.2.22 (Ubuntu)Versão do cliente MySQL: 5.5.32Extensão do PHP: mysqliphpMyAdmin: 3.4.10.1deb1OBS.: Executei a consulta pelo phpMyAdminEntendo, consegui criar a tabela, trocando apenas o nome da FK...
perdoe minha ignorancia, mais qual é a diferença das tabelas em InnoDB ?
Obrigado pela ajuda!
-
Boa Noite Galera !!
Sou novo por aqui, e estou com uma dúvida sobre chave estrangeira no mysql, simplesmente, não cria !!!!
é o seguinte, estou com um pequeno banco de dados aqui para um futuro software de lanchonete...
porem, quando vou criar a tabela de movimentação de entrada, não consigo de maneira alguma
a tabela é essa
CREATE TABLE IF NOT EXISTS `lanchoneteDB`.`MOV_ENTRADA` (`ID_MOV_ENTRADA` INT NOT NULL AUTO_INCREMENT ,`DATA_MOV_ENTRADA` DATETIME NULL ,`VLRLIQUIDO_MOV_ENTRADA` DECIMAL(15,2) NULL ,`VLRBRUTO_MOV_ENTRADA` DECIMAL(15,2) NULL ,`NR_MOV_ENTRADA` INT NULL ,`VLRDESC_MOV_ENTRADA` DECIMAL(15,2) NULL ,`ID_CAD_FORNECEDOR` INT NULL ,PRIMARY KEY (`ID_MOV_ENTRADA`) ,INDEX `ID_CAD_FORNECEDOR_idx` (`ID_CAD_FORNECEDOR` ASC) ,CONSTRAINT `ID_CAD_FORNECEDOR`FOREIGN KEY (`ID_CAD_FORNECEDOR` )REFERENCES `lanchoneteDB`.`CAD_FORNECEDOR` (`ID_CAD_FORNECEDOR` )ON DELETE NO ACTIONON UPDATE NO ACTION)ENGINE = InnoDBa Tabela CAD_FORNECEDOR já existe, e ID_CAD_FORNECEDOR é a PK dela, se alguém enchergar alguma coisa estranha, por favor me avise, estou pirando com isso !!!!Grato!
(Resolvido) Não Cria Foreign key !
em MySQL
Postado
sendo assim, acho que o tópico já pode ser concluído
Obrigado.