Ir para conteúdo
Fórum Script Brasil

flvMoreno

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Posts postados por flvMoreno

  1. 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.

  2. 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.04
    MySQL 5.5.32-0ubuntu0.12.04.1
    Conjunto de caracteres MySQL: UTF-8 Unicode (utf8)
    Apache/2.2.22 (Ubuntu)
    Versão do cliente MySQL: 5.5.32
    Extensão do PHP: mysqli
    phpMyAdmin: 3.4.10.1deb1
    OBS.: Executei a consulta pelo phpMyAdmin

    Entendo, 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!

  3. 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 ACTION
    ON UPDATE NO ACTION)
    ENGINE = InnoDB
    a 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!
×
×
  • Criar Novo...