MySql Update并将null设置为具有其他表的外键的字段

时间:2015-02-12 16:24:53

标签: php mysql

我有这样的表:

Notes
ID | NAME | CATEGORY
1  | test | 1
2  | test2| 2

Notes Category
ID | NAME | COUNT
1  | tCat | 1
2  | tCat2| 1

我有外键CATEGORY <-> Notes Category.ID

我尝试在Notes中更新第一条记录并将null设置为CATEGORY,因为我想要没有类别的笔记而且我得到了错误:

  

SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败

2 个答案:

答案 0 :(得分:0)

ALTER TABLE `Notes` DROP FOREIGN KEY Notes_ibfk_1;
UPDATE `Notes` SET CATEGORY = NULL WHERE ID = 1;
ALTER TABLE `Notes` ADD FOREIGN KEY -- http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html

答案 1 :(得分:0)

尝试在NOTES表中特别声明CATEGORY为INT NULL