针对所有记录,当数据库里所有name 字段的值不为2,或者 所有ema字段的值不为1 时才执行添加操作
if not exists
(select * from dd where
checksum(name)=
checksum('2')
)
if not exists
(select * from dd where
checksum(ema)=
checksum('1')
)
insert into dd(name,ema)
values('2','1')
针对一条记录,当name不等于'3' 并且ema不等于'5'时才执行插入数据
if not exists
(select * from dd where
checksum(name,ema)=
checksum('3','5')
)
insert into dd(name,ema)
values('3','5')
自己动手建个小数据库,测试一下会更加明白
今天又在网上看到了另外一种写法,不过我没有测试过
INSERT INTO clients
(client_id, client_name, client_type)
SELECT supplier_id, supplier_name, 'advertising'
FROM suppliers
WHERE not exists (select * from clients
where clients.client_id = suppliers.supplier_id);
插入:
INSERT INTO clients
(client_id, client_name, client_type)
SELECT 10345, 'IBM', 'advertising'
FROM dual
WHERE not exists (select * from clients
where clients.client_id = 10345);