Ir para conteúdo
Fórum Script Brasil
  • 0

Erro 1005


snoke

Pergunta

estou a ter algumas dificuldades em criar esta base de dados:

CREATE TABLE `mensagem` (
  `msgid` int(11) NOT NULL auto_increment,
  `nome` varchar(45) NOT NULL,
  `texto` text NOT NULL,
  PRIMARY KEY  (`msgid`),
  KEY `FK_mensagem_1` (`nome`)
) TYPE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 

CREATE TABLE `sala` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `nome` varchar(45) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `nome` (`nome`)
) TYPE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 

CREATE TABLE `utilizador` (
  `nome` varchar(45) NOT NULL,
  `passe` varchar(45) NOT NULL,
  `ult_msg` int(11) NOT NULL,
  `id_sala` int(11) NOT NULL,
  PRIMARY KEY  (`nome`),
  UNIQUE KEY `nome` (`nome`), 
  INDEX i2 (id_sala)
) TYPE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

ALTER TABLE `mensagem`
  ADD CONSTRAINT `FK_mensagem_1` FOREIGN KEY (`nome`) REFERENCES `utilizador` (`nome`) ON DELETE CASCADE;

ALTER TABLE `utilizador`
  ADD CONSTRAINT `FK_utilizador_1` FOREIGN KEY (`id_sala`) REFERENCES `sala` (`id`) ON UPDATE CASCADE;

Dá-me o seguinte erro:

Comando SQL:

ALTER TABLE `utilizador` ADD CONSTRAINT `FK_utilizador_1` FOREIGN KEY ( `id_sala` ) REFERENCES `sala` ( `id` ) ON UPDATE CASCADE ;

Mensagens do MySQL :

#1005 - Can't create table '.\chat\#sql-c54_ced.frm' (errno: 150)

Pelo que estive a ler é um erro em relação ao campo "id_sala" que tem que ser index, mas como já meti o mesmo como index não percebo porque continua a dar o erro...

Grato pela sua atenção!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...