Mysql 如果条目存在

标签 mysql

是否可以使用 mysql 检查记录是否存在?

rowName | number
----------------
dog     | 1
cat     | 2

例如:

如果我有一个变量 $var = 'dog',它已经存在于我的数据库中,我希望系统将 +1 数字添加到 dog 行。

另一方面,例如,当我有变量 $var='fish' 时,它在我的数据库中不存在,我希望系统插入新行 '鱼” 编号为 1。

我想知道是否有一种查询可以替代使用 php 条件的两个不同查询。我假设只运行一个 mysql 查询会更快。

最佳答案

请看这个INSERT ... ON DUPLICATE KEY UPDATE .例如

INSERT INTO table (rowName, `number`) VALUES ('$var', 1)
  ON DUPLICATE KEY UPDATE `number` = `number` + 1;

关于Mysql 如果条目存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17024396/

相关文章:

mysql - 硬连接查询

mysql - SQL 连接从三个表获取每月总工资

php - 使用复选框作为 mysql 表中每条记录的输入

mysql - 即使条件不是我,也选择一些数据

mysql - 如何将表1的数据插入表2?

php - while循环中使用INSERT语句的多个REST-API请求

mysql - 我寻找最畅销产品的搜索没有返回预期的结果

php - 我的 PHP 文件中 file_get_contents 的 $filename 有一个等号,它正在转换为 '%3' 。我该如何处理这个问题?

具有多个组的 Mysql Rollup

php - 如何将购物车日期插入数据库?