如何将大数组插入到数据库内。

我想将从公众号内获取到的openid插入到数据库内,通过微信接口API获取到的数据格式如下:

{"total":133617,"count":10000,"data":{"openid":["ou9QFwleDwTNW9xqYq1H-HVP0H4k","ou9QFwnwxDTDMcMrw01aPuMG_5ww","ou9QFwp-hUx7EL5-VUEB-mFPwE_4","ou9QFwnRxH92syjD1cc_tmWdqcqQ","ou9QFwkuk6Pbd-DRkD5DB4GcTOb4" ,"....."]},"next_openid":"ou9QFwhAZKQHMD3CdIP5K6uGNSfU"}

我就想将这个json里面openid数组插入到数据库内,每次大概10000多条,我用axios通过post来插入到数据库?如果出错了怎么办,或者产生丢失?
我使用的后端语言是php,没用过node。 有什么好的办法,解决这个问题,谢谢。

阅读 1.7k
1 个回答

那你这个问题不应该放在 前端这里呀。这摆明是 php 的问题。甚至说是一个数据库问题。

  1. 前端,axios 通过 post 请求。前端来讲是没有数据量的限制。几十兆都不算事。
  2. 服务端,php 通过什么样的方式呢?合并成一个大的sql语句?还是一条一条插入呢?还是?
  3. 数据库,假装你是 mysql 吧。

    1. 如果是一条一条执行,除了慢一点其实没问题。
    2. 如果是批量执行,你需要把你的执行语句的长度改大一点。会抛出一个错误,直接网上搜就好了。

那么来说说丢数据,重复数据的事情。

  1. 主键。保证不重复
  2. 重试机制。保证不丢失。
  3. 核对总数。看结果
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题