php – MySQL插入重复密钥

前端之家收集整理的这篇文章主要介绍了php – MySQL插入重复密钥前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立一个评级系统,而我想插入一个新的行,如果名称字段不包含我想插入的名称,如果它存在,我想增加计数字段1

例如,如果我有一行“Tom”,我尝试插入名为“Tom”的另一行,那么我想为已存在的行的字段计数1.

如果名称为“Tom”的行不存在,我想插入一个新的,并将count设置为1.

我知道我可以使用大约3个sql语句和一些if语句来执行此操作,但这会减慢脚本的速度,因为正在执行2/3 sql命令.

有任何想法吗?
谢谢!

INSERT … ON DUPLICATE KEY UPDATE

If you specify ON DUPLICATE KEY UPDATE,and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY,an UPDATE of the old row is performed.

例如

INSERT INTO table (name,counter) VALUES ('Bob',1)
  ON DUPLICATE KEY UPDATE counter=counter+1

猜你在找的PHP相关文章