mysql外键1452_mysql外键错误#1452

我只是遇到了这个问题,尽管在一个更具体的情况下。

在我的例子中,我已经向现有表添加了一个我需要可以为空的列并充当外键的列(即,对于由外键约束绑定的非空条目)。

引用的列看起来像这样:

+-------------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------+-------------+------+-----+---------+----------------+

| id | int(10) | NO | PRI | NULL | auto_increment |

+-------------+-------------+------+-----+---------+----------------+和引用这样的:

+-------------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------------+-------------+------+-----+---------+----------------+

| bed_id | int(10) | YES | | NULL | |

+-------------+-------------+------+-----+---------+----------------+原来我忘记在将引用列添加到现有表时指定DEFAULT NULL,因此它自动填充了零,这使得外键约束失败。

我将它们更改为NULL:

update devices set bed_id = NULL where bed_id = 0;然后成功添加了外键约束。希望这有助于某人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值