MySQL ERROR 1005(HY000):无法创建表格

时间:2014-10-20 22:13:16

标签: mysql

+---------------+-------------+------+-----+---------+----------------+
| 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的主键是正确的。还有什么地方失败了?

1 个答案:

答案 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);