【发布时间】:2018-02-15 02:54:39
【问题描述】:
我在向最近创建并与之建立关系的表中添加记录时遇到问题。我有一个名为 "sandbox2" 的数据库和一个名为 "country" 的表和另一个名为 "city" 的表。
“国家”表有列:
"id" (primary key)
"countryname"
“城市”表有以下列:
"cityid"
"cityname"
"cid" -->Foreign key
当我尝试使用 PHPmyadmin 插入工具将记录添加到 city 表时,我收到以下错误消息:
#1452 - 无法添加或更新子行:外键约束失败 (
sandbox2.city, CONSTRAINTcity_ibfk_1FOREIGN KEY (cid) 更新级联时参考country(id)
SQL 查询:
INSERT INTO `city` (`cityid`, `city`, `cid`) VALUES (NULL, 'johnson', '122')
我查看了此站点上报告的类似问题,他们提到检查数据类型并确保它们相同;它们都是 INT 11 字符。我确实注意到我不知道是否相关的一件事是默认存储引擎设置为 My_ISAM,但是我的表是使用引擎 InnoDB 设置的(见图)。我无法将默认引擎更改为 InnoDB。
【问题讨论】:
标签: mysql