我有代码
mysql_query("INSERT INTO authors (author) VALUES ('$rec_fic_author') WHERE NOT EXISTS (SELECT * FROM authors WHERE author='$rec_fic_author')") or die("cannot insert author");
作者是包含authorID(pk)和作者的表 $ rec_fic_author是一个_POST变量
我正在尝试这样做,以便当一个人添加作者时,代码会检查数据库中是否有同名的任何人(在作者列下)。如果没有,则添加条目 我有作为TEXT的作者,由于某种原因,我不能在phpMyAdmin中使它独一无二。 我查看了REPLACE和INSERT ..在DUPLICATE KEY UPDATE,但据我所知,他们都需要有问题的值是唯一/ PK值。这不是这种情况。
帮助?
答案 0 :(得分:1)
我建议您使用PK或英国操作(如建议使用wonk0),然后您可以将INSERT语句与INGNORE子句一起使用。
答案 1 :(得分:0)
这是一个很好的查询,如果你有好的索引,NOT EXISTS通常会非常快。但我想知道为什么这不起作用!
我认为这对您的关注有用... LINK,检查一下。