MySQL错误1005(HY000):无法创建表
+---------------+-------------+------+-----+---------+----------------+
| 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);
这给我一个错误,
ERROR 1005(HY000):能't create table'table2。#sql-3fb_7cf'(errno:150)
表1 id
的主键是正确的。还有哪些地方失败?
当您更改表并添加一个外键时,您必须添加引用列作为一个键,然后将它添加为外键。
ALTER TABLE Table2
ADD COLUMN person_id int(11),
ADD INDEX(person_id),
ADD FOREIGN KEY fk_person_id(person_id) references Table(id);
+1其实它是*必填*;任何外键*必须*被索引。 – Barranka 2014-10-20 22:29:49
这工作,谢谢。 – theblackpearl 2014-10-20 22:33:29
没问题。我们不都希望MySQL提供更多有用的错误消息吗? – 2014-10-20 22:55:20
您的表格实际上是否名为'表'? – 2014-10-20 22:26:11