MySQL在記錄不存在時的插入:
示例:插入多條記錄
假設有一個主鍵為 client_id 的 clIEnts 表,可以使用下面的語句:
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);
使用 dual 做表名可以讓你在 select 語句後面直接跟上要插入字段的值,即使這些值還不存在當前表中。