【发布时间】:2014-09-24 00:03:16
【问题描述】:
我已经创建了两个表,如下图:
CREATE TABLE `leiame` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`number` INT(10) NOT NULL,
`title` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id`) )
CREATE TABLE `download` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`id_leiame` INT(10) UNSIGNED NULL,
PRIMARY KEY (`id`),
CONSTRAINT `leia_id_fk` FOREIGN KEY (`id_leiame`)
REFERENCES `leiame` (`id`) ON UPDATE CASCADE )
当我在下载时为 id_leiame 添加 null 值时,出现以下错误:
无法添加或更新子行:外键约束失败(`bd`.`download`, CONSTRAINT `leia_id_fk` FOREIGN KEY (`id_leiame`) REFERENCES `leiame` (`id`) ON UPDATE CASCADE)
我将 id_leiame 设置为 NULL。
我错过了什么?
【问题讨论】:
-
Works for me。您可以发布导致问题的 DML 吗?
-
你确定你的插入是正确的......并且你没有尝试插入'null'而不是null。插入 kkm.download (name, id_leiame) 值 ('something', null);在我的机器上工作正常:-)
-
我插入 'null' 但不起作用! DML 代码:$crud = new crud('download'); $crud->inserir("name,id_leiame", "'$name','$leiame'");
-
你应该插入 null ... 而不是 'null'
-
@Marcel:请在问题中添加您的代码,因为这似乎是问题的原因,NULL 作为特殊值和 'null' 作为字符串之间的区别。
标签: mysql sql null foreign-keys