MySQL IN(............) 里面有大量数据

我要更新一表格,其被Update的数量非常非常的多

update ybtbo set TBNewFlag=1 where AtTBOID IN (698,699.............)

我这(689,699,700.............. ) 约有4000到5000个
我少数用100多个是没问题的

我有想到的是,将这些数组切500个update一次,但我不知道怎么切

目前将这些数组传到了temstr=(689,699,700...............)

希望能提供较好的方式来update这个大表格

9个回答

这么多In的数据,最好还是用其他条件来取代In

qq_41965147
qq_41965147 这么多In的数据,最好还是用其他条件来取代In
大约一年之前 回复
weixin_40187983
weixin_40187983 是的,我还是不用in来用比较好了!
大约一年之前 回复

可以试一下用存储过程批量更新

weixin_40187983
weixin_40187983 请问具体如怎么做呢?
大约一年之前 回复

in里面的id如果是连续的就直接id>xxx。如果是不连续的id的话,分多条sql去更新,我觉得快速的办法就是在excel中去组装多条sql,把id拷贝到excel的一列里面去后面不说你也知道怎么做了。

drop procedure if exists procUpdate;
CREATE PROCEDURE procUpdate()
begin
DECLARE minid INT;
DECLARE maxid INT;
DECLARE currentid INT;
DECLARE endid INT;
DECLARE seed INT;
set seed=500;
set minid = 698;
set maxid = 你的最大值;
select minid,maxid;
set currentid=minid;
while currentid<=maxid
do
if currentid+seed>maxid then
set endid=maxid;
else
set endid=currentid+seed;
end if;
update ybtbo set TBNewFlag=1 where AtTBOID = minid
between currentid and endid;
set currentid=endid+1;
end while;
end;
CALL procUpdate;
drop procedure procUpdate;

评论有字数限制。所以再次回答一次,上面是存储过程,没有你的数据库,不知道能不能行;如果不能执行,你再百度一下,改一下

where AtTBOID IN (498,499.............) or AtTBOID IN (598,599.............) or AtTBOID IN (698,699.............)

传递参数用list,sql语句里foreach循环list,也不用分割啊

最好用sql查询出需要更新的主键update table set a=** where pkvalue in(select pkvalue from table )

给你一个思路,AtTBOID 建立索引,in里面的放入临时表,两个表做inner join,结果就是你要的。

首先创建一张临时表AtTBOID_Tmp,用来存储in 里面的id,字段名也叫做AtTBOID吧
然后执行下面的语句就可以了
update ybtbo t1,AtTBOID_Tmp t2 set t1.TBNewFlag=1 where t1.AtTBOID = t2.AtTBOID;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MySQL IN(............) 里面有大量数据
我要更新一表格,其被Update的数量非常非常的多nnupdate ybtbo set TBNewFlag=1 where AtTBOID IN (698,699.............)nn我这(689,699,700.............. ) 约有4000到5000个n我少数用100多个是没问题的nn我有想到的是,将这些数组切500个update一次,但我不知道怎么切nn目前将这些数组传到了temstr=(689,699,700...............)nn希望能提供较好的方式来update这个大表格
mysql插入大量数据
今天lz帮一个同学将一个json格式的数据,通过Java代码解析最后保存到mysql数据库,从json中解析到的数据有4万多条,一开始lz写的SQL格式为如下,结果坑爹的等了半个多小时。insert into record values("a");insert into record values("b");...... 后来lz改成了如下格式,结果几秒钟就搞定了insert into reco
mysql 导入大量数据
c:Documents and Settings/&amp;gt; cd e:/xampp/mysql/bin e:/xampp/mysql/bin&amp;gt; mysql -u root -p password: mysql&amp;gt;use mydata; mysql&amp;gt;charset utf8;(导入文件的编码gbk) mysql&amp;gt;source d:/dbname.sql;...
mysql导入大量数据
如何将导入大量数据到mysql,特别是当数据库备份文件大于20M时的导入方法
Mysql插入大量数据
预处理插入大数据//去掉最后一个逗号问题 //可根据情况调整 $chu=(int)($count/5000);//取整 $yu=$count%5000; //余数for($i=0;$i<$chu;$i++){ $value=''; for($j=$i*5000;$j<($i+1)*5000;$j++){ //拼接values的值 $values.='
mysql批量删除大量数据
假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1 会发现删除失败,因为lock wait timeout exceed的错误。因为这条语句所涉及的记录数太多,因此我们通过LIMIT参数分批删除,比如每10000条进行一次删除,那...
EXCEL里面有大量的数据,如何高效的导入ACCESS?
EXCEL里面大概有6万条记录,如果是一条一条的导入,时间太久了,怎么能够高效的导入ACCESS里面,用C#
mysql查询大量数据异常
The driver was unable to create a connection due to an inability to establish the client portion of a socket.rnrnThis is usually caused by a limit on the number of sockets imposed by the operating system. This limit is usually configurable. rnrnFor Unix-based platforms, see the manual page for the 'ulimit' command. Kernel or system reconfiguration may also be required.rn数据库没问题,每次查询完执行:rnif(rs!=null)rn try rn rs.close();rn catch (Exception e) rn // TODO: handle exceptionrn rn rn //关闭资源[先开后闭];rn if(ps!=null)rn try rn ps.close();rn catch (SQLException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn ps=null;//使用垃圾回收.rn rn if(ct!=null)rn try rn ct.close();rn catch (SQLException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn ct=null;rn rn在一个方法里有个循环要反复去查询数据库,每次都是调用工具类去查询,也就是每次都执行了上面的关闭。可当查询到4000次左右时就抛出了上面的异常。请帮忙看看,万分感谢!
mysql如何导入导出大量数据
数据有2万行以上。约6.7M大小、求一个可行方法!rndos 下导入就死掉了。
Mysql插入大量数据出错。。。
恢复数据库时执行到插入数据时就出错了,插入的数据比较大。记忆中是要改Mysql的缓冲池 但忘记改哪个了 那位大哥/大姐知道告诉一下
MySql如何导入大量数据?
MySql如何导入大量数据?*.txt格式的
Mysql大量数据快速排序方案
日常开发中经常需要对数据进行排序,通常可以讲数据库中的数据获取到后通过程序在内存中进行排序,但是这样排序需要将排序内容从数据库中查询到内容,同时使用程序算法进行排序,然后将排序结果更新入数据库,这样排序效率较低,开发量较大,本例采用数据库本身自有属性进行大数据的快速排序,具体方案如下: 1、删除临时表 DROP TABLE IF EXISTS SORT_TEMP 2、创建临时
window下mysql导入大量数据
1、运行cmd,在mysql的bin目录下找到mysql.exe然后输入用户名,密码,数据库名 mysql -u用户名 -p密码 数据库名 2.进入mysql命令,source d:wcnc_db.sql 以上是两种导入mysql.sql的方法,适用于导入大量数据脚本。 附赠两个文档地址: http://www.cnblogs.com/bearcat/ar
Mysql 大量数据备份还原命令
注:先进到mysql安装目录bin目录中 (例如:D:\MySql\mysql-5.5.27-win32\bin)才能使用mysqldump命令 备份: 格式:mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} &amp;gt; {backupfile.sql}            示例代码:mysql...
大量的数据如何导入mysql
我一直用phpmyadmin管理数据库,但是如果数据量太大,就无法导入?如何解决?rnrn不是本地机,没法用mysqlfront.
大量数据,mysql承受能力的问题
mysql无法启动,老是报错:rn Can't create a new thread (errno 12);if you are not out of available memory,you can consult the manual for a possible OS-dependent bugrn我现在的情况是:rnrn mysql数据库中的一张表每天要插入上十来万条记录,并要对此表进行分析统计。rnrn当前服务器的配制是:rnrn Intel(R) Xeor(TM) CPU 2.80GHZ 2.80GHZrn 2GB的内存rnrn
求助大量数据插入MySQL
MySQL新人想做光谱数据库,每天有千万级别数据量插入,还有一定的查询。MySQL能做到吗,怎么存储。插入比较快,还有查询速度也想快一点。
mysql进阶(十五) mysql批量删除大量数据
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql批量删除大量
opentaps安装成功,但mysql里面有表没数据.
ant run-install得到BUILD SUCCESSFULrnstartofbiz.bat 执行成功,返回successfullyrnrnhttp://localhost:8080/opentaps/可以访问rnrn用户:flexadmin 密码:ofbizrn用户:admin 密码:opentapsrn都试过,都提示:rn发生了下面的错误:rn登录时发生下列错误:没有找到用户。rnrn打开mysqlrnUSE `opentaps`;rnrnSELECT * FROM user_login;rn发现里面根本没数据.rn求解.
网页抓取,页面有大量的javascript
用htmlparser解析网页时发现有大量javascript,我需要的是这些javascript执行完成后的html,rn怎样才能实现呢?
Mysql软件 里面有安装教程,小软件
可以学习学习sql语句,在黑框下谢谢sql语句,可以记住很多的sql语句的,供刚刚接触数据库的同学学习。
mysql里面有setof这样的东西吗?
postgreSQL 里面 可以用 setof record 来表示返回结果rnrn如rnrn[code=Java]rnCREATE OR REPLACE FUNCTION _get_newest_date(_mmsi integer, _updatetime timestamp without time zone)rn RETURNS SETOF current_ships ASrn$BODY$rn declarern _rec current_ships%rowtype; rn beginrn for _rec in (select * from current_ships where mmsi = _mmsi and updatetime > _updatetime) loop rn return next _rec; rn end loop; rn end;rn$BODY$rn LANGUAGE plpgsql VOLATILErn COST 100rn ROWS 1000;rnALTER FUNCTION _get_newest_date(integer, timestamp without time zone) OWNER TO postgres;rnCOMMENT ON FUNCTION _get_newest_date(integer, timestamp without time zone) IS '根据mmsi和时间得到此mmsi的数据';rn[/code]rnrn但是mysql貌似不支持呢?rnmysql怎么写阿?rnrn这样写不对rnrn[code=Java]rnDELIMITER $$rnrnDROP FUNCTION IF EXISTS `_member_login`$$rnrnCREATErn FUNCTION `_member_login`(_number INT, _passwd VARCHAR(20))rn RETURNS `members` TABLErn BEGIN rn RETURN (SELECT * FROM members WHERE number = _number AND passwd = _passwd);rn END$$rnrnDELIMITER ;rnrn[/code]rnrnrnrn网上我也看到有人问这个问题 rnrnhttp://forums.mysql.com/read.php?118,240489,267291#msg-267291rnrn求解...
一个不错的学习网站--里面有大量资料
一个不错的学习网站--里面有大量资料rn好的话 记得帮顶rnhttp://www.hur.cn/bbs/X_AdvCom_Get.asp?UserID=25576rn
deepmind_lab 里面有大量的MD3文件 简单说明md3是什么
MD3  编辑 本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! MD3文件是一种在queke3中使用的模型数据文件,MD3模型动画,是经典的关键帧动画。 在一个MD3模型动画系统中,通常有*.md3,*.skin,*.cfg以及一些图片格式文件组成,如(animation.cfg、head.md3、head_default.sk
vbs编写工具,里面有大量实例,非常实用
很实用的实例,里面有vbs已经编写好的类,可以直接调用。还有具体的指南
ad库,里面有大量设计好的模型
有许多设计好的资源模型,常见0805,0603的各式贴片式模型
单元格数据里面有格回车问题
nvarchar格式的列,数据里面夹着一个回车,看不到,有什么办法给去掉,有没有这功能的字符串函数?急啊!
怎么验证DataGrid,确定里面有数据
怎么验证DataGrid,确定里面有数据,如果没有则弹出消息框,大[color=#FF0000]家写的详细点,最好能有代码[/color]
循环里面有异步操作,返回异步操作的数据
如图上面结果显示,异步操作更改原数组时只对异步函数内有效,对异步函数外并无作用,此时需要用到Promise对象,使异步转同步执行,如下: ​ function pushData(arr, value) { return new Promise((reslove) =&gt; { setTimeout(() =&gt; { ...
修改DataTable结构,Table里面有数据
for (int i=0;i
dba_jobs_running 里面有数据,导致一直创建进程
第一步:查看正在运行的jobsSQL&amp;gt; select * from dba_jobs_running;第二步:确定要停掉的job的SID,SERIAL#和系统进程idselect b.SID,b.SERIAL#,c.SPIDfrom dba_jobs_running a,v$session b,v$process cwhere a.sid = b.sid and b.PADDR = c.AD...
mysql里面有一个数据库,一个表里面有百万条数据,如何优化快速查询
mysql里面有一个数据库,一个表里面有百万条数据,如何优化快速查询,用sql语句快速查询,谢谢大神指教。
java mysql分页查询大量数据,批量插入
//mysql连接 rewriteBatchedStatements=true打开批量写入 public static Connection getConn() throws SQLException { String userName="root"; String password="123"; String url="jdbc:mysql:
mysql 删除大量数据后 释放空间
delete命令根本不会回收空间,也就是说之前假如这个文件占了100G ,delete后,文件大小没有改变。当全表扫描的时候,还是扫这么多的数据块。当执行完alter table 命令后,它会回收空间。假如删了80G,它的物理文件会只占20G空间。 eg: alter table table_name engine=innodb; --最好隔一段时间 去alter 一下 这...
Java 从MySQL中读取大量数据
本文记录使用java的jdbc从MySQL中读取大量数据不出现OOM的方法,一般的使用jdbc读取的时候,会将查询结果全部导入到内存中,如果数据量很大的时候会出现OOM异常,本文将介绍如何使用MySQL中的分页功能,设置featchSize大小防止OOM,轻松读取海量数据的方法(笔者测试读取量为3000W行数据)
如何使用Mysql一次性读取大量数据
如何使用Mysql一次性读取大量数据rn要一次性处理上万条数据,直接调用的话,Mysql就死了,怎么办?
大量数据
我一个java页面,进行搜索的时候要在5万条记录里搜索,当显示的时候,有时显示上千条,这样就有一段很长的等待时间, rn请问这个等待时间是如何产生的,我的数据库时oracle 的,请问应该如何处理
ThinkPHP操作MySQL删除大量数据的优化
我对有一个8万条数据的表进行了一次去重操作,其中有将近6万条的重复数据需要被删除。考虑到可能会产生对数据库的高IO操作,我选择进行删除算法的优化。
MYSQL导入大量数据碰到的问题及解决方法
在项目中,经常会碰到往数据库中导入大量数据,以便利用sql进行数据分析。在导入数据的过程中会碰到一些需要解决的问题,这里结合导入一个大约4G的txt数据的实践,把碰到的问题以及解决方法展现出来,一方面自己做个总结记录,另一方面希望对那些碰到相同问题的朋友有个参考。 我导入的数据是百科的txt文件,文件大小有4G多,数据有6500万余条,每条数据通过换行符分隔。每条数据包含三个字段,字段之间通过T...
MySQL中插入大量数据的问题
各位高手,我写了一段程序,生成一个字符串,然后插入到数据库中,这个程序有时会执行上千万次,但是每次执行到10多万次的时候就报了一个outOfStackException,请问一下大家都怎么处理MySQL中插入大量数据的问题?
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池