表
+---------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(64) | NO | | NULL | |
-----------------------------------------------------------------------
表2
ALTER TABLE Table2
ADD COLUMN person_id int(11),
ADD FOREIGN KEY fk_person_id(person_id) references Table(id);
这给了我一个错误,
错误1005(HY000):无法创建表' table2。#sql-3fb_7cf' (错误:150)
表1 id
的主键是正确的。还有什么地方失败了?
答案 0 :(得分:3)
更改表并添加外键时,必须先将引用列添加为键,然后再将其添加为外键。
ALTER TABLE Table2
ADD COLUMN person_id int(11),
ADD INDEX(person_id),
ADD FOREIGN KEY fk_person_id(person_id) references Table(id);