如果不存在,则插入php
我有密码如果不存在,则插入php,php,mysql,insert,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"); 其中authors是包含authord(pk)和author的表 $rec_fic_author是一个_POST变量 我试图这样做,当一个
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");
其中authors是包含authord(pk)和author的表
$rec_fic_author是一个_POST变量
我试图这样做,当一个人添加作者时,代码会检查数据库中是否有同名的人(在“作者”列下)。如果不是,则添加条目
我将作者作为文本,由于某些原因,我无法使其在phpMyAdmin中唯一。
我查看了一下替换和插入。。在重复密钥更新时,但据我所知,它们都需要有问题的值是唯一的/PK值。这里的情况并非如此
帮助?这是一个很好的查询,“不存在”通常非常快,如果您有好的索引。但我想知道为什么这不起作用
我认为这对你的关注很有用,检查它。我建议您使用PK或UK(如wonk0所建议的),然后您可以使用INSERT语句和INGNORE子句
您能用PK之类的信息共享您的表结构吗?为什么不为作者选择一个表并检查mysql_num_rows()?如果等于0,则insert.AUTHER as TEXT的尺寸似乎有点过大,CHAR/VARCHAR应该可以;它们可以有一个唯一的索引;cf@wonk0,我不是说这是一个有效的链接,但我建议一个已经发布的链接,如果可能的话,这是好的。。。。(请投票支持我的答案)。