我认为你盲目地跟随事情。我相信不仅而且完全知道从 w3cschool 复制代码并尝试使用您的代码,因为它看起来非常相似
http://www.w3schools.com/sql/sql_foreignkey.asp
您使用的代码是
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)
但是您还没有看到上面写的“要允许命名 FOREIGN KEY 约束,并要在多个列上定义 FOREIGN KEY 约束,请使用以下 SQL 语法: ” 先阅读,然后按照事情进行,永远不要着急。由于您的阅读复制和粘贴没有尝试过其他资源并在此处发布了您得到-1的问题(当然不是来自我,而且我也不能给予没有访问权限)。
来到实际的事情 -
您发布 sql 的代码的 senario 应该是这样的 -
ALTER TABLE `jobseekers_customprofile`
ADD CONSTRAINT FOREIGN KEY (jobseekers_Id)
REFERENCES jobseekers(jobseekers_Id)
条件是,如果数据已经存在,它可能不适合您,因此在执行此查询之前检查数据。您也可以使用 ON UPDATE CASCADE 和 DELETE ON CASCADE ON DELETE CASCADE ON DELETE DEFAULT 无论如何
尝试参考这些
http://dev.mysql.com/doc/refman/5.6/en/innodb-foreign-key-constraints.html
mysql 外键错误 #1452
Mysql 错误 1452 - 无法添加或更新子行:外键约束失败