当前位置:首页 » 存储配置 » 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()值大小还判断是否成功

热点内容
油卡如何修改密码 发布:2025-05-16 13:00:35 浏览:900
安卓手机如何拼照片 发布:2025-05-16 12:58:23 浏览:373
深入浅出python 发布:2025-05-16 12:56:52 浏览:655
国二c语言vc2010怎么编译运行 发布:2025-05-16 12:53:49 浏览:424
华为热点哪里看密码 发布:2025-05-16 12:53:44 浏览:515
新手如何用java写安卓app 发布:2025-05-16 12:53:07 浏览:402
虚荣挂脚本 发布:2025-05-16 12:50:44 浏览:480
Oracle触发器与存储过程高级编程 发布:2025-05-16 12:49:39 浏览:360
伊兰特悦动有什么配置 发布:2025-05-16 12:48:57 浏览:93
超话等待上传 发布:2025-05-16 12:48:56 浏览:259