首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查记录是否存在

问检查记录是否存在
EN

Stack Overflow用户
提问于 2010-05-17 20:16:28
回答 9查看 54.2K关注 0票数 13

我找到了this on php.net来检查文件是否存在。

我想先检查记录是否存在,然后执行更新,否则执行插入。

代码语言:javascript
复制
if(record exist) {
   update query}
else 
  { insert query}

我知道如何更新或插入,但不知道如何首先检查记录是否存在。它是如何做到的?

EN

回答 9

Stack Overflow用户

发布于 2010-05-17 20:19:37

如果您知道如何执行SQL SELECT,那么可以这样做:

代码语言:javascript
复制
$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。

票数 27
EN

Stack Overflow用户

发布于 2010-05-17 20:21:05

您不需要在PHP中执行此操作,您可以直接在数据库的SQL查询中执行此操作(我假设您正在使用一个数据库来存储记录,因为从您的问题中听起来就是这样,我将假定为MySQL,因为它通常与PHP一起使用)。

代码语言:javascript
复制
INSERT INTO ... ON DUPLICATE KEY UPDATE;

假设您的表具有主键,这将插入新行(如果不存在),或者更新当前行(如果存在)。

有关这方面的更多信息,请参阅MySQL Manual。

另一种选择是先执行SELECT COUNT(1) FROM myTable WHERE ...查询,如果结果为0,则只执行insert,否则执行更新。

票数 6
EN

Stack Overflow用户

发布于 2010-05-17 20:20:01

您也可以尝试使用this

代码语言:javascript
复制
INSERT ... ON DUPLICATE KEY UPDATE
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2848904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档