当前位置:首页 » 存储配置 » mysqlupdate存储过程

mysqlupdate存储过程

发布时间: 2022-07-08 15:24:33

‘壹’ mysql批量更新存储过程怎么写

java">createprocerebatchUpdate(innint)
begin
declareinParamintdefaultn;
declareiintdefault1;
declareidint;
declareusernamevarchar(255);
declareintegralvarchar(255);
declarerankingint;
declare_resultSetcursorforselecta.id,a.username,a.integral,a.rankingfromuseraorderbya.integraldesclimitinParam;
open_resultSet;
whilei<=inParamdo
fetch_resultSetintoid,username,integral,ranking;
updateuseraseta.ranking=iwherea.id=id;
seti=i+1;
endwhile;
close_resultSet;
end;

mysql>select*fromuser;
+----+----------+----------+---------+
|id|username|integral|ranking|
+----+----------+----------+---------+
|1|abc|1|0|
|2|abc|2|0|
|3|abc|3|0|
|4|abc|4|0|
|5|abc|5|0|
|6|abc|6|0|
|7|abc|7|0|
|8|abc|8|0|
|9|abc|9|0|
|10|abc|10|0|
|11|abc|11|0|
|12|abc|12|0|
|13|abc|13|0|
|14|abc|14|0|
+----+----------+----------+---------+
14rowsinset

mysql>callbatchUpdate(14);
QueryOK,1rowaffected

mysql>select*fromuser;
+----+----------+----------+---------+
|id|username|integral|ranking|
+----+----------+----------+---------+
|1|abc|1|14|
|2|abc|2|13|
|3|abc|3|12|
|4|abc|4|11|
|5|abc|5|10|
|6|abc|6|9|
|7|abc|7|8|
|8|abc|8|7|
|9|abc|9|6|
|10|abc|10|5|
|11|abc|11|4|
|12|abc|12|3|
|13|abc|13|2|
|14|abc|14|1|
+----+----------+----------+---------+
14rowsinset

‘贰’ mysql update 存储过程

你是单表操作,怎么会用到事务呢?一条update命令下去,要么所有的修改都成功,要么都失败,不需要利用事务的啊,系统会在真正的更新数据前纪录日志的,它会自动控制是提交还是回滚。
何况只有几万条数据,哪怕在普通的台式机上,也就是眨眼间完成的事。

‘叁’ mysql 存储过程中update影响行数为0,回滚

使用FOUND_ROWS() 获得影响的行数,再用IF判断是否等于0就行了。

--开始事务
starttransaction;

callsetCoin(zjAmount,0,`uid`,liqType,`type`,info,_betId,serializeId,'');
updateblast_betssetlotteryNo=_kjData,zjCount=_zjCount,bonus=zjAmount,fanDianAmount=_fanDianAmountSelfwhereid=_betId;
IFFOUND_ROWS()=0THEN
ROLLBACK;
ELSE
COMMIT;
ENDIF;
commit;

‘肆’ MySQL在原存储过程中增加update修改记录行报1064错误请教大神

1064是SQL的语法错误,最简单最低级的错误而已。
你这个update语句本身就有问题:

UPDATE woic SET seq=comments WHERE seq='000' AND check_passed=0;
这里的comments 应该是传进来的吧?你如果不传进来就要给常量。

‘伍’ MySql中更新数据库的存储过程

你的语句没问题,但是你的变量定义的有问题

‘陆’ mysql存储过程能返回update更新操作的结果吗

在存储过程中使用ROW_COUNT()
mysql> select * from a1;
-> //
+------+-------+
| id | name |
+------+-------+
| 1 | timac |
+------+-------+
1 row in set (0.00 sec)
mysql> \d ;
mysql> update a1 set name='king' where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
mysql> insert into a1 values(2,'K1'),(3,'K2');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 2 |
+-------------+
1 row in set (0.00 sec)

mysql> update a1 set name='kings' where id=4;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> select row_count();
+-------------+
| row_count() |
+-------------+
| 0 |
+-------------+
1 row in set (0.00 sec)

只有返回的row_count()值大小还判断是否成功

热点内容
F模块驱动器编译错误 发布:2024-10-09 06:06:21 浏览:636
脚本亚索集锦 发布:2024-10-09 05:53:30 浏览:877
安卓手机格式化后为什么打不开 发布:2024-10-09 05:52:58 浏览:511
云服务器可以超级计算机吗 发布:2024-10-09 05:51:33 浏览:17
php基本语法手册 发布:2024-10-09 05:34:04 浏览:819
shell脚本累加 发布:2024-10-09 05:33:41 浏览:842
阿里云怎么领服务器 发布:2024-10-09 05:17:53 浏览:819
c语言可逆素数 发布:2024-10-09 05:13:44 浏览:925
班级采访问题 发布:2024-10-09 04:45:44 浏览:499
单人地图脚本 发布:2024-10-09 04:45:32 浏览:756