当判断一条记录是否存在不是唯一的主键而是多个条件的时候就懵了啊。。 当这种情况出现时当然还是要用 DUPLICATE key update关键词了 但是但是 是有前提条件的,,因为我们是三个条件判断记录是否存在,这个时候必须用到了联合唯一索引:
ALTER TABLE oa_achievement_class ADD UNIQUE (type,name,test_name)
接下来就可以使用了:
INSERT INTO oa_achievement_class (name,type,test_name,create_by,score) VALUES ('123','1','123','0','93') on DUPLICATE key update score = VALUES(score)
联合索引实际上是这样用的
type and name and test_name 而不是OR 哈
所以这个要记得酱紫