怎么样快速更新大量数据

假如有一张sku表,有数据10w或更多,怎么样能够快速从第二个数据库获取库存来更新sku的库存数据?

阅读 2.8k
1 个回答

如果你的库2就没有sku表,可以通过mysqldump命令来把库1中的sku表导出到文件,再把这个文件中的数据导入到库2中即可:

$ mysqldump -uroot -proot --databases db1 --tables sku  >/tmp/sku.sql
$ mysql -uroot -proot db2 < /tmp/sku.sql

如果你库2本身也有sku表,只是想将库1中库2没有的数据更新到库2,那么首先你得通过insert ... select语句来操作,需要注意,语句最好不要一次性插入10w数据,最好按一定条件分开,比如id,因为mysql内部有一定限制:

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 1 and 10000)
and (db2.sku没有这条数据);

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 10001 and 20000)
and (db2.sku没有这条数据);

希望能帮助到你。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题