问题:我正在与客户 Build 数据库 . 我知道您使用“insert”语句在数据库中插入信息,但是如何确保不再输入相同的客户端信息?
答:您可以确保不使用EXISTS条件插入重复信息 .
例如,如果您有一个名为clients的表,其主键为client_id,则可以使用以下语句:
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);
使用双表允许您在select语句中输入值,即使这些值当前未存储在表中 .