MySQL热门搜索查询,如果搜索已经存在,如何添加到count而不是插入new?
供参考的网址: 我目前有一个查询,每次执行职务搜索时都会运行该查询,该查询将该职务搜索添加到searches_performed表中。这很好:MySQL热门搜索查询,如果搜索已经存在,如何添加到count而不是插入new?,mysql,sql,if-statement,Mysql,Sql,If Statement,供参考的网址: 我目前有一个查询,每次执行职务搜索时都会运行该查询,该查询将该职务搜索添加到searches_performed表中。这很好: INSERT INTO `searches_performed` (`state`, `city`, `distance`, `term`, `description`, `telecommute`)
INSERT INTO `searches_performed`
(`state`,
`city`,
`distance`,
`term`,
`description`,
`telecommute`)
VALUES ( 'NY',
'New York',
'100',
'web design',
'1',
'1' )
此表中还有一个默认值为1的“计数”列
我的目标是在不借助Php和多个查询的情况下,检查我想要插入的搜索是否存在,如果不存在,则添加它。如果我要插入的搜索确实存在,我只想在该行的“count”列中添加1
一如既往,我们非常感谢您的帮助。这仅在复制唯一索引时才会触发
您可以使用:插入。。。关于重复密钥更新 i、 e:在搜索字段中定义主键,然后使用
INSERT INTO `searches_performed`
(`state`,
`city`,
`distance`,
`term`,
`description`,
`telecommute`)
VALUES ( 'NY',
'New York',
'100',
'web design',
'1',
'1' )
ON DUPLICATE KEY UPDATE counts=counts+1;
您可以通过使用来完成此任务。您必须确保搜索词是一个键。例如,请参见上面的页面。我最终从插入内容中删除了距离、描述和远程办公,并添加了一个唯一的键,即城市、州和标题的md5。非常感谢。