我需要打开一张表,表示主人采用了什么动物(关系是一对多的)。我以外键和一些列开头,但在尝试打开该表后,会出现一个错误。
这是我考试中的一个问题:
owner_id pet_id和
的组合。owner_id从owner表引用id。pet_id从pet表引用id。一定是独一无二的。adoption_date这是我写的剧本
CREATE TABLE `pet shelter`.`adoption` (
`adoption_date` INT NULL,
CONSTRAINT `owner_id`
FOREIGN KEY ()
REFERENCES `pet shelter`.`owner` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `pet_id`
FOREIGN KEY ()
REFERENCES `pet shelter`.`pet` ()
ON DELETE CASCADE
ON UPDATE CASCADE);但我知道这个错误:
操作失败:将SQL脚本应用于数据库时出错。
...followed由:
错误1064:您的SQL语法出现了错误;请检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在第4行中使用
pet shelter.owner()在删除UPDATE上的任何操作。
发布于 2019-10-20 02:36:22
参考资料:
https://dev.mysql.com/doc/refman/8.0/en/create-table.html
在你使用的任何一个地方都没有括号。
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (col_name,...)
reference_definition
reference_definition:
REFERENCES tbl_name (key_part,...)
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]所以:
FOREIGN KEY ()
REFERENCES `pet shelter`.`owner` ()
ON DELETE NO ACTION
ON UPDATE NO ACTION-->
FOREIGN KEY
REFERENCES `pet shelter`(owner)
ON DELETE NO ACTION
ON UPDATE NO ACTIONhttps://dba.stackexchange.com/questions/251282
复制相似问题