向数据库中插入一条记录,有重复值则更新,没有则插入

根据主键判断是否有该条记录,如果有,则将对应属性改变,没有则直接插入;
案例:
表 team_info(id,team_name ,project_id,leader);其中id 为key
假设表中已经存在一条记录(‘fd15ee77-dae4-4a64-ad15-9ae540823b8f’,‘哈哈’,‘1’,‘张三’)
(1)主键相同,只更新列举属性
Insert into team_info(
id,team_name ,project_id ,leader)
values (‘fd15ee77-dae4-4a64-ad15-9ae540823b8f’,‘嘿嘿’,‘2’)
on DUPLICATE key UPDATE
team_name=‘嘿嘿’,project_id=‘2’
将原有记录的 team_name 属性值和 project_id属性值 改变 ,leader 属性值不变;
(2)主键不同,则作为一条新记录插入
Insert into team_info(
id,team_name ,project_id ,leader)
values (‘fd15ee77-dae4-4a64-ad15-9ae540888888’,‘哈哈’,‘1’)
on DUPLICATE key UPDATE
team_name='哈哈,project_id=‘1’

猜你喜欢

转载自blog.csdn.net/qq_31178783/article/details/85156983