Mysql如果条目存在

时间:2013-06-10 12:55:49

标签: mysql

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

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

例如:

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

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

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

2 个答案:

答案 0 :(得分:3)

请参阅此INSERT ... ON DUPLICATE KEY UPDATE。例如

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

答案 1 :(得分:1)

试试这个:

  

//你可以检查记录是否存在

SELECT EXISTS(SELECT rowName FROM table WHERE rowName="$var");
  

//您也可以进行一次查询

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