mysql的插入语句的条件插入

MySQL的创建表语句:

CREATE TABLE `coordination_template_share` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `regional_id` int(11) DEFAULT NULL,
  `org_id` int(11) DEFAULT NULL COMMENT '组织机构id',
  `depart_id` int(11) DEFAULT NULL COMMENT '部门id',
  `system_id` int(11) DEFAULT NULL COMMENT '业务系统id',
  `template_id` int(11) NOT NULL COMMENT '模板id',
  `proj_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='模板共享机构及系统';

在插入的同时判断是否存在(判断是否插入插入 虚拟表dual):

insert into coordination_template_share (id, regional_id, org_id, depart_id, system_id, template_id, proj_id)
    select null, 1,1,1,1,1,1 from dual 
    where not exists(
        select proj_Id from coordination_template_share 
        where 
        proj_id = 1 
        and template_id = 1
        and regional_id = 1
        and org_id = 1
    );

你可能感兴趣的:(mysql)