MySQL在记录不存在时的插入: MZDLinux联盟 示例:插入多条记录 MZDLinux联盟 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: MZDLinux联盟 INSERT INTO clients MZDLinux联盟 (client_id, client_name, client_type) MZDLinux联盟 SELECT supplier_id, supplier_name, 'advertising' MZDLinux联盟 FROM suppliers MZDLinux联盟 WHERE not exists (select * from clients MZDLinux联盟 where clients.client_id = suppliers.supplier_id); MZDLinux联盟 示例:插入单条记录 MZDLinux联盟 INSERT INTO clients MZDLinux联盟 (client_id, client_name, client_type) MZDLinux联盟 SELECT 10345, 'IBM', 'advertising' MZDLinux联盟 FROM dual MZDLinux联盟 WHERE not exists (select * from clients MZDLinux联盟 where clients.client_id = 10345); MZDLinux联盟 使用 dual 做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。MZDLinux联盟
|