MySQL中,有时候一条数据在插入前需要查询是否已经存在,如果存在就更新某些字段,不存在就插入;
即:select,insert,update 三条相关语句可以用一条代替,so 强大!
例如,某些计数功能
INSERT INTO t_request_count VALUES(
15110190927,
0,
0,
0,
NOW(),
NOW()
) ON DUPLICATE KEY UPDATE used=used+1,NEW=NEW+2,leased=leased+3,update_time=NOW()
;
SELECT * FROM t_request_count WHERE mobile='15110190927';
结果:
第二次执行:
问题:
1.values()里面的字段与数据库里的字段必须一致~
异常:Column count doesn't match value count at row 1
2.数据库要有唯一索引或主键