《Mysql學習MySql中使用INSERT INTO語句更新多條數據的例子》要點:
本文介紹了Mysql學習MySql中使用INSERT INTO語句更新多條數據的例子,希望對您有用。如果有疑問,可以聯系我們。
MYSQL必讀我們知道當插入多條數據的時候insert支持多條語句:
代碼如下:
INSERT INTO t_member (id, name, email) VALUES
??? (1, 'nick', 'nick@126.com'),
??? (4, 'angel','angel@163.com'),
??? (7, 'brank','ba198@126.com');
但是對于更新記錄,由于update語法不支持一次更新多條記錄,只能一條一條執行:
代碼如下:
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;
這里問題就出現了,倘若這個update list非常大時(譬如說5000條),這個執行率可想而知.
MYSQL必讀這就要介紹一下在MySql中INSERT語法具有一個條件DUPLICATE KEY UPDATE,這個語法和適合用在需要判斷記錄是否存在,不存在則插入存在則更新的記錄.
MYSQL必讀具體的語法可以參見:http://dev.mysql.com/doc/refman/5.0/en/insert.html
MYSQL必讀基于上面這種情況,針對更新記錄,仍然使用insert語句,不過限制主鍵重復時,更新字段.如下:
代碼如下:
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的特有語法,并不是SQL標準語法!
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/2114.html