源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

MySql中使用INSERT INTO语句更新多条数据的例子

  • 时间:2021-09-24 16:51 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:MySql中使用INSERT INTO语句更新多条数据的例子
我们知道当插入多条数据的时候insert支持多条语句:
[u]复制代码[/u] 代码如下:
INSERT INTO t_member (id, name, email) VALUES     (1, 'nick', 'nick@126.com'),     (4, 'angel','angel@163.com'),     (7, 'brank','ba198@126.com');
但是对于更新记录,由于update语法不支持一次更新多条记录,只能一条一条执行:
[u]复制代码[/u] 代码如下:
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语句,不过限制主键重复时,更新字段。如下:
[u]复制代码[/u] 代码如下:
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标准语法!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部