gpt4 book ai didi

mysql - 如何在 MySQL 中循环遍历表并获取行?

转载 作者:行者123 更新时间:2023-11-29 16:02:39 40 4
gpt4 key购买 nike

我想要完成的是循环遍历表的所有行并一次抓取一行并对其执行某些操作。像这样的事情

BEGIN
DECLARE x INT;
DECLARE countmax INT;
DECLARE id INT;
DECLARE name VARCHAR(255);
SET x = 1;
SET id = 0;
SET countmax = (select count(*) from Appian.APPIAN_DATA);
SET FOREIGN_KEY_CHECKS = 0;

WHILE x < countmax DO
SET name = (SELECT FULL_NAME
FROM Appian.APPIAN_DATA
WHERE ID = x
);
#do something with above result here later.
SET x = x + 1;

END WHILE;
select name;

END

从上面看,name 返回 null。我检查了 x 是否正确增加,看起来没问题。我想抓取 ID = x 的行。第一次在 SQL 中使用循环,所以不确定什么是允许的,什么是不允许的。但是,我还没有看到人们在循环内使用选择,主要是操作数据和更新行。最终的目标是创建临时表并在操作后将每一行插入其中。对于专家来说,我在这里做了什么愚蠢的事情,我无法从表中提取数据并将其分配给变量?编辑:更新代码使其更加清晰

最佳答案

发布的代码只会查看 ID = 379 ,我假设您打算使用“WHERE ID = x”。

此外,您通常无需使用循环即可完成您想要的任务,但如果您坚持迭代编程,请考虑学习游标。它将用更简单的语法为您处理 while 循环中的小细节。

https://dev.mysql.com/doc/refman/8.0/en/cursors.html

关于mysql - 如何在 MySQL 中循环遍历表并获取行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56046538/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com