Mysql高级语句之-插入

带条件且带主键更新的语句

根据某个条件是否成功而插入表,同时如果存在主键冲突则更新数据字段。

insert into  db_name.db_table(ent_id,user_id,user_role,dept_name,sub_dept_name,create_datetime) 
select(283, 1, 3,'', '', '2018-01-01 12:13:14')    
from DUAL 
where (select count(*) from db_name.db_table where ent_id=283)<22
ON DUPLICATE KEY
UPDATE status=1, user_role=3,dept_name='',sub_dept_name='';
insert into [数据库].[数据表](数据字段)
select(具体要插入的数据)
from dual
where [条件语句(支持子查询)]
on duplicate key
update [数据字段=数据值,...]

猜你喜欢

转载自blog.csdn.net/qq_32013641/article/details/86650196