mysql insert判断记录存不存在 存在即更新不存在即插入 DUPLICATE key update

当判断一条记录是否存在不是唯一的主键而是多个条件的时候就懵了啊。。 当这种情况出现时当然还是要用  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 哈

所以这个要记得酱紫

猜你喜欢

转载自blog.csdn.net/s1040342522/article/details/79907650