mysql无法添加或更新子行_MySQL#1452 - 无法添加或更新子行

我在这里打招呼,所有我想要做的就是插入一个外键的表字段,请看看这两个表:

表 Categorie

CREATE TABLE IF NOT EXISTS `categorie` (

`id_cat` int(2) NOT NULL AUTO_INCREMENT,

`nom_cat` varchar(20) NOT NULL,

PRIMARY KEY (`id_cat`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

和表 Annonce

CREATE TABLE IF NOT EXISTS `annonce` (

`id_annonce` int(6) NOT NULL AUTO_INCREMENT,

`titre` varchar(30) NOT NULL,

`description` varchar(255) NOT NULL,

`tarif` float NOT NULL,

`deplacement` int(2) NOT NULL,

`date_creation` date NOT NULL,

`date_expiration` date NOT NULL,

`image` varchar(255) NOT NULL,

`id_cat` int(2) DEFAULT NULL,

PRIMARY KEY (`id_annonce`),

KEY `id_cat` (`id_cat`),

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

手动链接外键id_cat后(ON UPDATE SET NULL ON DELETE CASCADE)这就是db的样子

164fd264-e25a-4073-b4f8-047b7f1bb846.png

将数据插入Categorie表后,它看起来像这样

2b0f9d85-7a2e-4b23-9358-5e368603ef61.png

但不幸的是我无法执行此查询:

INSERT INTO annonce (id_annonce, titre, description, tarif, deplacement,

date_creation, date_expiration,id_cat)

VALUES('','anything','anything',2,3,'2017-04-01','2017-04-01',2)

错误说:

1452 - 无法添加或更新子行:外键约束失败(lametcom.annonce,CONSTRAINT annonce_ibfk_2 FOREIGN KEY(id_cat)REFERENCES annonce(id_cat)ON DELETE SET NULL ON UPDATE CASCADE)

任何人都可以帮忙,对我可怜的英语感到抱歉,我希望你能理解我的意思

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值