是否有可能使用mysql检查记录是否存在?
rowName | number
----------------
dog | 1
cat | 2
例如:
如果我有一个已存在于我的数据库中的变量$var = 'dog'
,我希望系统向狗行添加+1号。
另一方面,当我有,例如,变量$var='fish'
,我的数据库中不存在,我希望系统插入数字为1的新行'fish'
。
我想知道是否有一个查询替代使用php条件的两个不同的查询。我假设只运行一个mysql查询会更快。
答案 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;