首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alter Table添加外键引用

问Alter Table添加外键引用
EN

Stack Overflow用户
提问于 2016-08-05 01:27:17
回答 1查看 4.8K关注 0票数 3

我正在做一个学习perl/catalyst的教程,它似乎有点过时了。我正在尝试将一个已经存在的列(以前是主键(已经删除了主键))更改为外键。我已经尝试了一堆不同的语法配置,但似乎无法确定它。这是我最近的一次尝试:

代码语言:javascript
复制
ALTER TABLE book_author (
   MODIFY book_id INTEGER
   ADD CONSTRAINT FOREIGN KEY book_id
   REFERENCES book(id)
   ON DELETE CASCADE
   ON UPDATE CASCADE
);

任何建议都是值得感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-05 01:34:04

您可以像在CREATE TABLE语句中那样使用括号,但不能在ALTER TABLE语句中使用括号。

修改约束行和添加约束行之间也缺少逗号。

而且,约束的主题列book_id周围缺少圆括号。

以下是工作原理:

代码语言:javascript
复制
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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38773815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档