《Mysql學(xué)習(xí)MySql中使用INSERT INTO語(yǔ)句更新多條數(shù)據(jù)的例子》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)MySql中使用INSERT INTO語(yǔ)句更新多條數(shù)據(jù)的例子,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL必讀我們知道當(dāng)插入多條數(shù)據(jù)的時(shí)候insert支持多條語(yǔ)句:
代碼如下:
INSERT INTO t_member (id, name, email) VALUES
??? (1, 'nick', 'nick@126.com'),
??? (4, 'angel','angel@163.com'),
??? (7, 'brank','ba198@126.com');
但是對(duì)于更新記錄,由于update語(yǔ)法不支持一次更新多條記錄,只能一條一條執(zhí)行:
代碼如下:
UPDATE t_member SET name='nick', email='nick@126.com' WHERE id=1;
UPDATE t_member SET name='angel', email='angel@163.com' WHERE id=4;
UPDATE t_member SET name='brank', email='ba198@126.com' WHERE id=7;
這里問(wèn)題就出現(xiàn)了,倘若這個(gè)update list非常大時(shí)(譬如說(shuō)5000條),這個(gè)執(zhí)行率可想而知.
MYSQL必讀這就要介紹一下在MySql中INSERT語(yǔ)法具有一個(gè)條件DUPLICATE KEY UPDATE,這個(gè)語(yǔ)法和適合用在需要判斷記錄是否存在,不存在則插入存在則更新的記錄.
MYSQL必讀具體的語(yǔ)法可以參見(jiàn):http://dev.mysql.com/doc/refman/5.0/en/insert.html
MYSQL必讀基于上面這種情況,針對(duì)更新記錄,仍然使用insert語(yǔ)句,不過(guò)限制主鍵重復(fù)時(shí),更新字段.如下:
代碼如下:
INSERT INTO t_member (id, name, email) VALUES
??? (1, 'nick', 'nick@126.com'),
??? (4, 'angel','angel@163.com'),
??? (7, 'brank','ba198@126.com')
ON DUPLICATE KEY UPDATE name=VALUES(name), email=VALUES(email);
注意:ON DUPLICATE KEY UPDATE只是MySQL的特有語(yǔ)法,并不是SQL標(biāo)準(zhǔn)語(yǔ)法!
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/2114.html