日期:2014-05-16  浏览次数:20848 次

mysql+php 中批量更新
 
有a表(id, name, sort), 假设有20条记录, 现在要批量更新这20条记录.

我用php打印出来成一张表格, 修改后, update一般有方法:



一, 建立一张相同结构的b表的, 批量插入数据, 再关联并批量覆盖到a表

二, 在php里一条条循环更新a表


  还有其它更好的方法吗?

------解决方案--------------------
数据量小的话用第一种 那样几个字段可以合并成一个字段 譬如id name sort
合并成类似下面的
name
"1zhangPeople,2liPeople,3pipiDog"
如果数据量多的话要符合第三范式 那样的话就你的第二种 不过可以给要更新的字段加上标记 或者从前台获得要更新的字段 有目的的更新
------解决方案--------------------
假设你要更新 1000 个记录,无规律。 (有规律的话,你可以直接用一条UPDATE完成了。)

你把这 1000个记录插入临时表,也是需要时间和操作的! PHP中去生成这个insert 语句,为什么不直接去执行 update 呢?