標籤:另一個 伺服器 def ... insert 好處 完成 select ignore
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]或:INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name SET col_name={expr | DEFAULT}, ... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]或:INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT ... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
--假設a,b為唯一索引,表table沒有1,2這樣的行是正常插入資料,衝突時,更新c列的值INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=3;
INSERT DELAYED如果您的用戶端不能等待INSERT完成,則這個選項是非常有用的,當一個用戶端使用INSERT DELAYED時,會立刻從伺服器處得到一個確定。並且行被排入隊列,當表沒有被其它線程使用時,此行被插入。使用INSERT DELAYED的另一個重要的好處是,來自許多用戶端的插入被集中在一起,並被編寫入一個塊。這比執行許多獨立的插入要快很多。INSERT DELAYED INTO worker (name) values (‘tom’), (‘paul’);
mysql Insert強化