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

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySql中使用INSERT INTO語句更新多條數(shù)據(jù)的例子

2024-07-24 12:47:09
字體:
供稿:網(wǎng)友

我們知道當(dāng)插入多條數(shù)據(jù)的時(shí)候insert支持多條語句:

復(fù)制代碼 代碼如下:

INSERT INTO t_member (id, name, email) VALUES
    (1, 'nick', 'nick@126.com'),
    (4, 'angel','angel@163.com'),
    (7, 'brank','ba198@126.com');

但是對于更新記錄,由于update語法不支持一次更新多條記錄,只能一條一條執(zhí)行:

復(fù)制代碼 代碼如下:

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;

這里問題就出現(xiàn)了,倘若這個(gè)update list非常大時(shí)(譬如說5000條),這個(gè)執(zhí)行率可想而知。

這就要介紹一下在MySql中INSERT語法具有一個(gè)條件DUPLICATE KEY UPDATE,這個(gè)語法和適合用在需要判斷記錄是否存在,不存在則插入存在則更新的記錄。

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

基于上面這種情況,針對更新記錄,仍然使用insert語句,不過限制主鍵重復(fù)時(shí),更新字段。如下:

復(fù)制代碼 代碼如下:

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標(biāo)準(zhǔn)語法!

您可能感興趣的文章:

mysql 批量更新與批量更新多條記錄的不同值實(shí)現(xiàn)方法MySQL UPDATE更新語句精解mysql 記錄不存在時(shí)插入 記錄存在則更新的實(shí)現(xiàn)方法mysql 存在該記錄則更新,不存在則插入記錄的sqlmysql用一個(gè)表更新另一個(gè)表的方法MySQL使用外鍵實(shí)現(xiàn)級聯(lián)刪除與更新的方法mysql 一次更新(update)多條記錄的思路MySQL查詢結(jié)果復(fù)制到新表的方法(更新、插入)MySQL數(shù)據(jù)庫SQL更新鎖定示例代碼
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 陇南市| 开原市| 东乡县| 芜湖县| 池州市| 全椒县| 临洮县| 河曲县| 定兴县| 衢州市| 荔波县| 镇远县| 鄂托克前旗| 绥棱县| 东阳市| 镇巴县| 惠来县| 广州市| 天津市| 株洲市| 二手房| 胶州市| 广东省| 永州市| 石屏县| 神池县| 乳山市| 监利县| 茶陵县| 瓮安县| 谷城县| 游戏| 兴海县| 古蔺县| 高密市| 佛教| 瑞金市| 岳池县| 马公市| 阳曲县| 江西省|