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
这是 外键约束 造成的。
外键约束的作用是防止非法数据插入外键列,包括:
(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,违反了引用约束,所以报错。