我找到了this on php.net来检查文件是否存在。
我想先检查记录是否存在,然后执行更新,否则执行插入。
if(record exist) {
update query}
else
{ insert query}我知道如何更新或插入,但不知道如何首先检查记录是否存在。它是如何做到的?
发布于 2010-05-17 20:19:37
如果您知道如何执行SQL SELECT,那么可以这样做:
$result = mysql_query("SELECT * FROM table1 WHERE something");
$num_rows = mysql_num_rows($result);
if ($num_rows > 0) {
// do something
}
else {
// do something else
}更好的是,不要在PHP中做到这一点,使用INSERT ... ON DUPLICATE KEY UPDATE。
发布于 2010-05-17 20:21:05
您不需要在PHP中执行此操作,您可以直接在数据库的SQL查询中执行此操作(我假设您正在使用一个数据库来存储记录,因为从您的问题中听起来就是这样,我将假定为MySQL,因为它通常与PHP一起使用)。
INSERT INTO ... ON DUPLICATE KEY UPDATE;假设您的表具有主键,这将插入新行(如果不存在),或者更新当前行(如果存在)。
有关这方面的更多信息,请参阅MySQL Manual。
另一种选择是先执行SELECT COUNT(1) FROM myTable WHERE ...查询,如果结果为0,则只执行insert,否则执行更新。
发布于 2010-05-17 20:20:01
您也可以尝试使用this
INSERT ... ON DUPLICATE KEY UPDATEhttps://stackoverflow.com/questions/2848904
复制相似问题