【发布时间】:2015-09-08 09:07:27
【问题描述】:
我的 MySQL 数据库中有两个表,其中包含奖项和成员。我想将 member_name 设置为奖励表中的外键,而不是 member_id。
我在 members 表中将 member_name 设置为 UNIQUE 并尝试将其设置为外键,但出现错误:
无法添加或更新子行:外键约束失败
谁能告诉我为什么会出现这个错误?
【问题讨论】:
-
您使用的是什么查询?你的
CREATE TABLE声明是什么? -
您是否检查过您的奖励表中的任何 member_name 是否在您的会员表中不存在,或者写的不同?
-
这是我的查询 @cxw - ALTER TABLE
awardsADD FOREIGN KEY (member_name) REFERENCESisec.members(member_name) ON DELETE RESTRICT ON UPDATE RESTRICT;跨度> -
@Lukas 我已经检查过了,它存在于两个表中。
-
只需在 members 表的 member_name 列上创建索引并执行您的外键更改查询。
标签: mysql database phpmyadmin