插入如果不存在php

时间:2011-08-11 04:55:47

标签: php mysql insert

我有代码

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值。这不是这种情况。

帮助?

2 个答案:

答案 0 :(得分:1)

我建议您使用PK或英国操作(如建议使用wonk0),然后您可以将INSERT语句与INGNORE子句一起使用。

INSERT Syntax

答案 1 :(得分:0)

这是一个很好的查询,如果你有好的索引,NOT EXISTS通常会非常快。但我想知道为什么这不起作用!

我认为这对您的关注有用... LINK,检查一下。