MySQL中当字段重复的时候就不插入
非主键的时候:使用insert select 语句
insert select语句的理解:
INSERT INTO permissions_group (power_id, group_id)
SELECT ‘2’, ‘2’
from DUAL
where not exists(select * from permissions_group where power_id=‘2’ and group_id = ‘2’);实际就是插入:
INSERT INTO permissions_group (power_id, group_id)
values (2,2)
但是在这个的基础上面,
进行了一次的判断:查看是否表里面是否已经存在一个(power_id, group_id=2,2而已。
需求:插入一行power_id, group_id=2,2的,但是如果表里存在power_id, group_id也为2,2的,就插入失败。
INSERT INTO permissions_group (power_id, group_id)
SELECT '2', '2'
from DUAL
where not exists(select * from permissions_group where power_id='2' and group_id = '2');