mysql插入数据库一直报错 怎么修改

1 queries executed, 0 success, 1 errors, 0 warnings

查询:INSERT INTO product VALUES ('1','小米 4c 标准版',1399,1299,'products/1/c_0001.jpg','2015-11-02',1,'小米 4c 标准版 兮..

错误代码: 1452
Cannot add or update a child row: a foreign key constraint fails (store_v2.0.product, CONSTRAINT sfk_0001 FOREIGN KEY (cid) REFERENCES category (cid))

执行耗时 : 0 sec
传送时间 : 0 sec
总耗时 : 0.098 sec

5个回答

这是 外键约束 造成的。

外键约束的作用是防止非法数据插入外键列,包括:

(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。

题目中product表中cid字段是该表的外键。
同时category 表中cid字段是该表的主键。

根据前面外键约束的描述,错误的原因在于category表中还 没有 cid值为1的记录。
解决办法是先在category插入记录。

比如:

 INSERT INTO `category` VALUES ('1','手机数码'),('2','电脑办公'),('3','家具家居');

然后再执行题目中的插入语句。

用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

看不懂啥意思,新手求指教

外键约束的问题,比如说父亲表和儿子表,新增儿子的时候对应的外键在父亲表中不存在,所有要先新增父亲再添加儿子

比如:课程表和成绩表 课程表的主键是课程号,成绩表中也有课程号,成绩表中的课程号就相对于课程表来说就是外键。如果课程表中没有该课程号,成绩表中就不存在相应的课程成绩

FOREIGN KEY (cid) REFERENCES category (cid))

就是你要插入的cid字段的值要对应category表中的cid,违反了引用约束,所以报错。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐