本文目录一览:
关于mysql的批量更新
mysql数据批量更新
update a set b=1 where id in ($ids) and id !=$_GET['id'];
update a set b=0 where id not in ($ids) and id !=$_GET['id'];
MySQL有办法批量更新所有表的同一名称的字段吗
MYSQL数据库字段内容批量更新:
利用sql中case when结构可以根据不同的条件批量更新,举例如下:
UPDATE order
SET display_order = CASE id
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
这句sql的意思是,更新display_order 字段,如果id=1 则display_order 的值为3,如果id=2 则 display_order 的值为4,如果id=3 则 display_order 的值为5。
mysql大量数据更新采用什么样的方式比较好,20w条数据一次更新?
建缓冲区。比如其他类型的高速缓存(redis等)作为中间缓冲层。
数据的查询,更改首先在这个层处理,处理完再更新到对应的数据库。
注意额外增加锁,或者缓存机制防止缓存击穿,雪崩导致系统崩溃。