如何实现数据库的批量插入与更新~~

如何实现数据库的批量插入与更新~~,第1张

干嘛弄这么麻烦啊数据量很大吗要是很大的话才需要你说的那种方式做压缩然后,你需要对得到的dataset根据其字段名组合成sql
更新到本地数据库但是这个台麻烦了
简单的办法是在本地数据库B上建立对远程数据库A的DBlink然后对远程数据库上的表在本地建立别名
那么你访问别名就和访问本地表一样简单只要你会sql
搞个数据库的批量本地插入还是很简单的因为不知道你是什么数据库因此你可以插下对应数据库DBLINk的资料不过这种方式就是没法对数据压缩可能会占用点带宽

可以考虑一下存储过程,存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

首先声明一点mysql不支持同时更新多行数据,但是msql支持同时插入多行数据
但是我们可以有一个崭新的思路去解决这个问题
只出思路
第一步,当你把展现给用户的数据从数据库读取出来的时候同时建立一个临时表结构和你之前读数据的表一样
第二部当用户更改了数据之后把所有更新过的数据插入到临时表里面一个insert语句就搞定了
第三步将临时表里面的ID(应该是唯一的主键)从读取数据那个表里面delete掉这个一条delete in就搞定了
第四部将临时表里面的数据插入到数据表里面去insert into 表 where 子查询从临时表
这样你要实现的效果就实现了这个也应该是比较简单的实现方式
还有别的实现方式比如说去php里面建立个抽象层有需要可以重新提问

mysql的项目,需要设计一个快速上载的机制

最后的解决办法是利用了mysql的预处理语句的特性实现的

mysql的预处理语句支持多行数据的预处理,即insertinto(columnName,columnName,)values(,,)(,,)

这样你在绑定输入参数的时候可以在程序里将整张表的数据都绑定好然后调用一次执行就能将整张表的数据插入,比用mysql_query一行一行插入省的几倍的时间

不过你一次发到mysql服务器端的数据多的情况下,要设置my

ini文件下的一个配置项,把服务器允许一次发送的数据包的大小调大就行


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13360401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存