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

(Resolvido) Problema com "on delete set default"


Herofmb

Pergunta

Oi pessoal, sou novo em mysql e não to entendendo porque não consigo usar "on delete set default". Se eu coloco cascade ou no action funciona. Taí o código:

CREATE TABLE tbl_usuario (
  Codigo INT NOT NULL AUTO_INCREMENT,
  RAMAL VARCHAR(4) NOT NULL DEFAULT '',
  SETOR VARCHAR(30) NOT NULL DEFAULT '',
  IP VARCHAR(15) NOT NULL DEFAULT '',
  Nome VARCHAR(30) NOT NULL,
  PRIMARY KEY(Codigo),
  INDEX tbl_usuario_FKIndex1(IP),
  INDEX tbl_usuario_FKIndex2(SETOR),
  INDEX tbl_usuario_FKIndex3(RAMAL),
  FOREIGN KEY(IP)
    REFERENCES tbl_IP(IP)
      ON DELETE SET DEFAULT
      ON UPDATE CASCADE,
  FOREIGN KEY(SETOR)
    REFERENCES tbl_SETOR(NOME)
      ON DELETE SET DEFAULT
      ON UPDATE CASCADE,
  FOREIGN KEY(RAMAL)
    REFERENCES tbl_RAMAL(RAMAL)
      ON DELETE SET DEFAULT
      ON UPDATE CASCADE
);

O erro que dá é 1005- can't create table 'db_ramal.tblusuario'(errno 150)

Qualquer ajuda bem vinda. Obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'Herofmb'!

Que versão do MySQl você está usando?

Nas versões 5.0.x, 5.1.x e 6.x as possibilidades para ON DELETE são: RESTRICT | CASCADE | SET NULL | NO ACTION

Link para o comentário
Compartilhar em outros sites

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


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...