【发布时间】:2015-08-11 12:55:05
【问题描述】:
我有 3 个表:协议、用户、电子邮件,如下所示,用户表中的 id 作为电子邮件表 (id(FK)) 和协议表 id_two(FK) 中的外键。
我已成功使用以下代码将 emails 表中的 id(Foriegn Key) 引用到用户表中的 id(Primary key):
ALTER TABLE emails MODIFY COLUMN id INT NOT NULL,
ADD CONSTRAINT id
FOREIGN KEY(id)
REFERENCES user(id);
但我收到错误 #1022 - 无法写入;表'#sql-13f0_30e'中的重复键
当我执行以下查询以将协议表的 id_two 引用到用户表的 id(PK) 时。
ALTER TABLE agreement MODIFY COLUMN id_two INT NOT NULL,
ADD CONSTRAINT id_two
FOREIGN KEY(id_two)
REFERENCES user(id);
【问题讨论】:
-
最好的选择是该表中已经存在约束名称 id_two
标签: php mysql database codeigniter