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 後直接跟值,即使值不在現有表中。
INSERT INTO `200702` (`domain`, `2nd_domain`, `tld`, `query_ns1`, `query_ns2`, `report_date`)
VALUES ('dnspod.com', 'dnspod', 'com', 1000, 2000, '2007-02-04')
ON DUPLICATE KEY UPDATE
`query_ns1` = `query_ns1` + 1000,
`query_ns2` = `query_ns2` + 2000;
TRUNCATE \`200702\`; 清空表Query OK, 1 row affected,資料寫入Query OK, 2 rows affected,query_ns1 累加為 2000,query_ns2 為 4000建表時 **必須給 domain 加唯一索引**:
UNIQUE KEY `domain` (`domain`,`report_date`)