$a='asfda'; $b='sdgdfgd'; $c='sdfdsfg'; $d='sgdfgdsfg';
mysql_query("INSERT INTO `users`(`id`, `confirmation`, `name`, `email`, `password`) VALUES ('','$a','$b','$c','$d')");
我的用户表中还有10个列,我想留空,而其中一个是' cityID' (外键),它一直给我这个错误...
"无法添加或更新子行:外键约束失败(
php_first
。users
,CONSTRAINTusers_ibfk_1
FOREIGN KEY(city id
)REFERENCES { {1}}(cities
))"
答案 0 :(得分:0)
因为你在users表中创建了一个索引,它引用了id
表中的cities
字段。删除该索引,你将摆脱这个错误。
我建议你删除索引,因为你的索引似乎没有任何帮助,否则当你有外键索引时,你必须让你必须存在外键的条目才能插入子记录的任何条目。
逻辑上这样想。你将创建一个父亲不存在的孩子;)
答案 1 :(得分:0)
mysql_query("set foreign_key_checks=0");
mysql_query("INSERT INTO `users`(`id`, `confirmation`, `name`, `email`, `password`) VALUES ('','$a','$b','$c','$d')");
答案 2 :(得分:0)
如果我不得不猜测,你的表中的cities
有一个非NULL约束。
这会被报告为外键违规。您可以看到示例here。
所以,这应该可以解决你的问题:
alter table modify column cities <whatever the type>
这将允许NULL
值。