首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySQL中遍历表和抓取行?

如何在MySQL中遍历表和抓取行?
EN

Stack Overflow用户
提问于 2019-05-09 01:55:38
回答 1查看 63关注 0票数 0

我试图完成的是遍历table的所有行,一次抓取一行,并对其执行一些操作。像这样的东西

代码语言:javascript
复制
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是否正确地递增,它似乎是好的。第一次在SQL中使用循环,所以我不确定什么是允许的,什么是不允许的。但是,我还没有看到人们在循环中使用selects,主要是操作数据和更新行。最终的目标是创建临时表,并在操作后将每一行插入其中。对于专家来说,我在这里做了什么愚蠢的事情,我不能从表中提取数据并将其赋给变量?编辑:更新了代码,使其更加清晰

EN

回答 1

Stack Overflow用户

发布于 2019-05-09 02:05:01

发布的代码将只查看ID = 379,我假设您的意思是使用"WHERE ID = x“。

此外,您通常可以在不使用循环的情况下完成所需的任务,但如果您坚持使用迭代编程,请考虑改为学习游标。它将用更简单的语法在while循环中为你处理一些小细节。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56046538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档