数据库
首页 > 数据库> > mysql-更改表添加外键参考

mysql-更改表添加外键参考

作者:互联网

我正在做一个学习perl / catalyst的教程,似乎有点过时了.我正在尝试将已经是主键(已经删除主键)的现有列更改为外键.我已经尝试了多种语法配置,但似乎无法确定.这是我最近的尝试:

ALTER TABLE book_author (
   MODIFY book_id INTEGER
   ADD CONSTRAINT FOREIGN KEY book_id
   REFERENCES book(id)
   ON DELETE CASCADE
   ON UPDATE CASCADE
);

任何建议表示赞赏.

解决方法:

您可以像在CREATE TABLE语句中那样使用括号,而在ALTER TABLE语句中则不使用括号.

您还缺少MODIFY和ADD CONSTRAINT行之间的逗号.

而且您在作为约束主题的book_id列周围缺少括号.

以下作品:

ALTER TABLE book_author
   MODIFY book_id INTEGER,
   ADD CONSTRAINT FOREIGN KEY (book_id)
   REFERENCES book(id)
   ON DELETE CASCADE
   ON UPDATE CASCADE;

该语法在官方的MySQL网站上有记录:http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

标签:jointable,foreign-keys,sql,mysql
来源: https://codeday.me/bug/20191118/2027330.html