Beraldo 864 Denunciar post Postado Dezembro 29, 2006 Saudações, pessoal! :D Estou utilizando este código para criar a tabela de usuários: Create Table usuarios( id smallint(5) Unsigned Not Null auto_increment, nome varchar(120) default '', login varchar(30) Not Null, senha char(32) Not Null, id_nivel tinyint(2) Not Null, Foreign Key (id_nivel) References niveis(id) On Delete Cascade On Update Cascade, Primary Key (id), Unique Key (login) )type = innodb CHARACTER SET latin1 COLLATE latin1_general_ci; A SQL da tabela níveis é esta: Create Table niveis( id tinyint(2) Unsigned Not Null auto_increment, nome varchar(20) default '', Primary Key (id), Unique Key (nome) )Type = innodb CHARACTER SET latin1 COLLATE latin1_general_ci; A tabela níveis foi criada corretamente, mas está ocorrendo o seguinte erro ao criar a tabela usuários: 1005 - Can't create table '.\login\usuarios.frm' (errno: 150)--- Encontrei isto no Manual do MySQL, mas sem muitos detalhes: 1005 (ER_CANT_CREATE_TABLE) Cannot create table. If the error message refers to errno 150, table creation failed because a foreign key constraint was not correctly formed. If the error message refers to errno -1, table creation probably failed because the table includes a column name that matched the name of an internal InnoDB table. Fonte: http://dev.mysql.com/doc/refman/5.1/en/inn...rror-codes.html Será que estou cometendo algum erro na SQL da tabela usuários? Valeu []'s Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 29, 2006 Coloque o "Unsigned" na definição do campo id_nivel, na tabela usuarios. Acredito que deu este erro pelo fato de os campos serem "diferentes". Create Table usuarios(id smallint(5) Unsigned Not Null auto_increment,nome varchar(120) default '',login varchar(30) Not Null,senha char(32) Not Null,id_nivel tinyint(2) Unsigned Not Null,Foreign Key (id_nivel) References niveis(id) On Delete Cascade On Update Cascade,Primary Key (id),Unique Key (login))type = innodb CHARACTER SET latin1 COLLATE latin1_general_ci; Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 29, 2006 É isso mesmo!! :D Deu certo! Valeu! []'s Compartilhar este post Link para o post Compartilhar em outros sites
Taty M.M. 0 Denunciar post Postado Maio 12, 2012 Tiraaa o NOT NULL do campo id_nivel Compartilhar este post Link para o post Compartilhar em outros sites