国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySql中使用INSERT INTO語句更新多條數據的例子

2020-01-18 23:13:59
字體:
來源:轉載
供稿:網友

我們知道當插入多條數據的時候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中INSERT語法具有一個條件DUPLICATE KEY UPDATE,這個語法和適合用在需要判斷記錄是否存在,不存在則插入存在則更新的記錄。

具體的語法可以參見:http://dev.mysql.com/doc/refman/5.0/en/insert.html

基于上面這種情況,針對更新記錄,仍然使用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標準語法!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安康市| 法库县| 固始县| 八宿县| 北海市| 石景山区| 深泽县| 炎陵县| 阿图什市| 郑州市| 米脂县| 银川市| 娱乐| 靖远县| 巴彦淖尔市| 峨边| 合水县| 柳江县| 新丰县| 铁岭县| 丹凤县| 安新县| 韶山市| 贵南县| 枣庄市| 马山县| 景德镇市| 汤阴县| 资源县| 当阳市| 丹江口市| 金昌市| 巫山县| 白玉县| 东兴市| 微博| 竹山县| 五莲县| 会同县| 万宁市| 会宁县|