我正在建立一个评级系统,而我想插入一个新的行,如果名称字段不包含我想插入的名称,如果它存在,我想增加计数字段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