Ir para conteúdo

POWERED BY:

Arquivado

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

lmbagolin

Mysql Workbench gera SQL errado

Recommended Posts

De inicio ele esta gerando o SQL com a sintaxe errada.

 

CREATE  TABLE IF NOT EXISTS `myDb`.`minha_tabela` (
  `codTabela` INT(11) NOT NULL AUTO_INCREMENT ,
  `nome` VARCHAR(150) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  PRIMARY KEY (`codDesconto`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;

Não sei pq raios ele esta colocando esse CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' qdo a sintaxe correta é COLLATE utf8_unicode_ci ...

 

Na verdade esse é o menor dos meus problemas. Se eu preciso criar uma tabela com uma Foreign Key em uma tabela cujo o nome (em ordem alfabetica) venha antes da minha tabela com a chave de referencia, ele tenta criar a tabela antes, e obvio não criara pq a tabela de referencia ainda não foi criada.

 

CREATE  TABLE IF NOT EXISTS `myDb`.`exemplo_minha_tabela` (
  `codExemplo` INT(11) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT ,
  `valor` VARCHAR(45) NOT NULL ,
  `codTabela` INT(11) UNSIGNED ZEROFILL NOT NULL ,
  FOREIGN KEY (`codTabela` )
    REFERENCES `myDb`.`minha_tabela` (`codTabela` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci

Existe algo q possa ser feito para que ele respeite a "ORDEM" de criação das tabelas ???????

 

Obs: Isso tb acontece com o Backup do MysqlAdministrator

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esquecendo o problema da sequencia das tabelas...

 

Alguem tem alguma ideia do problema com o erro de sintaxe ????

 

Ja que ninguem tem uma resposta...

 

Alguem me aconselha um programa similar ????

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.