我创建了两个表,如下所示:
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)< / p>
我将id_leiame设置为NULL。
我缺少什么?
答案 0 :(得分:0)
正如其他人在评论中指出的那样,基于你正在执行的语句,你似乎插入'null'(即一个包含null的字符串)而不是实际的NULL,即没有值。
你需要做的是(不正确的语法)
if($leiame == "")
$crud->inserir("name,id_leiame", "'$name',null") << no single quotes!
else
$crud->inserir("name,id_leiame", "'$name','$leiame'")