Erro 1064 ao criar foreign Key
Olá,
não tenho muita esperiência com foreign keys e estou estudando para mudar o quadro. O fato é que o MySQL está acusando um 1064 em uma tabela mimnha:
Tabela com erro:
CREATE TABLE ces_units (
unt_code INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
unt_abb VARCHAR(3) NOT NULL,
unt_label VARCHAR(20) NOT NULL,
unt_user INT NOT NULL DEFAULT 0,
INDEX (unt_code),
FOREIGN KEY unt_user_FK
REFERENCES ces_users(usu_code)
ON DELETE SET DEFAULT
)ENGINE=InnoDB;
Tabela referenciada pela chave estrangeira:
CREATE TABLE ces_users (
usu_code INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
usu_login VARCHAR(20) NOT NULL,
usu_passwd VARCHAR(32) NOT NULL,
usu_nome VARCHAR(60) NOT NULL DEFAULT 'Não Definido',
usu_sector INT NOT NULL DEFAULT 0,
usu_last INT NOT NULL DEFAULT 0
)ENGINE=InnoDB;
Mensagem de erro no QueryBrowser:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES ces_users(usu_code)
ON DELETE SET DEFAULT
)ENGINE=InnoDB' at line 10
Dúvida em outra questão: Como definir um valor padrão em uma FK caso o registro pai seja excluido de uma tabela? Pelo que lí, o MySQL não aceita o SET DEFAULT como eu coloquei na DDL acima.
Discussão (3)
Carregando comentários...