0
我知道如何插入一個查詢恆定值多行:MySQL的:條件INSERT ...選擇多行有常數值
INSERT INTO table
VALUES
(1, 'a', 'x'),
(2, 'b', 'y'),
(3, 'c', 'z');
但我怎麼做到這一點有條件?我想確保只有不存在的*行被插入。是否可以在單個查詢中完成?
* 一排時,其所有列等同於一個我們插入
我知道如何插入一個查詢恆定值多行:MySQL的:條件INSERT ...選擇多行有常數值
INSERT INTO table
VALUES
(1, 'a', 'x'),
(2, 'b', 'y'),
(3, 'c', 'z');
但我怎麼做到這一點有條件?我想確保只有不存在的*行被插入。是否可以在單個查詢中完成?
* 一排時,其所有列等同於一個我們插入
使用INSERT IGNORE INTO
,而不是INSERT INTO
存在。前者只會插入行,如果沒有違反唯一的關鍵約束。
INSERT IGNORE INTO table
VALUES
(1, 'a', 'x'),
(2, 'b', 'y'),
(3, 'c', 'z');
但IGNORE只會檢查現有**鍵**。幸運的是,這適用於我的設置。但是如果我想要檢查**所有內容**(包括非關鍵列)呢? – mae 2012-04-13 23:31:43