mysql - null 外键 mysql 不能为 null

标签 mysql sql foreign-keys

例如,我有一个父表,每个父表可以有一个子表,因此父表有一个children_id

如果没有 child ,我想将children_id设置为0,但是id为0的 child 不存在,所以我有这个错误

Cannot add or update a child row: a foreign key constraint fails (parent, CONSTRAINT `parent_ibfk_4` FOREIGN KEY (`children_id`) REFERENCES `children` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)

编辑: 我的案例的一个更接近的例子

我有一个菜单表,但菜单可以指向另一个菜单,因此我的菜单表中有一个menu_id,menu_id链接到菜单id,但第一个菜单不能有menu_id

我希望这是一个好方法:)

谢谢

最佳答案

外键是数据库强制执行的约束,因此数据保持一致。没有解决方法。

关于mysql - null 外键 mysql 不能为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17202411/

相关文章:

mysql - 在 UPDATE 查询中使用 JOIN

php - 如何优化 1000 个 MySQL 查询?

c# - 使用 system.data.sqlclient.dll 安装客户端

foreign-keys - 使用 Entity Framework 7 的流体 API 创建 optional 外键

PHP-UPLOAD_ERR_NO_TMP_DIR

php - 将个人资料图片上传一次(不是两次)到数据库中,并正确显示它们

sql - 您如何确保日志记录表中的值与其他表中的对象相匹配?

sql - 两个外键引用一张表

sql - 数据库不存在

sql - 将现有 SQL 转换为按列透视