【发布时间】:2014-01-15 23:31:41
【问题描述】:
我无法向我的存在表添加外键。我想从表games 中添加一个外键publisher_id 对publishers (publisher_id) 的引用。
但是当运行下面的 sql 时,它会说:
源列和目标列必须具有相同的数据类型,目标列上必须有索引,并且引用的数据必须存在。 无法添加或更新子行:外键约束失败 (
vngarena.com.#sql-818_1b1, CONSTRAINT#sql-818_1b1_ibfk_2FOREIGN KEY (publisher_id) REFERENCESpublishers(publisher_id) ON DELETE CASCADE ON UPDATE CASCADE
sql是:
更改表
games
添加外键 (publisher_id) 引用publishers(publisher_id) ON DELETE CASCADE ON UPDATE CASCADE;
这是我的数据库的图表:
更多信息:
- 表 games 有两条记录
- 表 games 有其他外键引用表 gamecats (gamecat_id)
- 表 gamecats 有两条记录
- 表publishers 没有记录
【问题讨论】:
-
表
games中的那两条记录...在publisher_id列中有值吗?
标签: mysql sql foreign-keys