引用网址:jobs.sitesixteen
我目前有一个在每次执行职位搜索时运行的查询,该查询将该职位搜索添加到 searchs_performed 表中。这插入得很好:
INSERT INTO `searches_performed`
(`state`,
`city`,
`distance`,
`term`,
`description`,
`telecommute`)
VALUES ( 'NY',
'New York',
'100',
'web design',
'1',
'1' )
此表中还有一个“计数”列,默认值为 1。
我的目标是——无需 Php 和多个查询的帮助——检查我打算插入的搜索是否存在,如果不存在,则添加它。如果我打算插入的搜索确实存在,我只想在该行的“计数”列中添加 1。
一如既往,我们非常感谢任何帮助。
最佳答案
您可以使用:INSERT ... ON DUPLICATE KEY UPDATE
即:在搜索字段上定义主键,然后使用
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;
关于MySQL热门搜索查询,如果搜索已经存在,如何添加到计数而不是插入新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4702173/