开发者社区> 问答> 正文

mysql,遍历列名?mysql

我想从MySQL表中获取所有列名,遍历每个列名,然后使用这些列名作为变量运行存储过程。效果:

colnames = get column names from table

for each colname if something changed then do something else do something else 看起来SHOW COLUMNS FROM myTable会给我列名,但是如何将列名放入循环?

我真的很想使用本机SQL在存储过程中运行所有这些程序。由于我仍在学习MySQL的复杂性,因此对我的项目确实有帮助。谢谢你的帮助。

展开
收起
保持可爱mmm 2020-05-17 12:38:56 483 0
1 条回答
写回答
取消 提交回答
  • 我想你想要这样的东西:

    DECLARE col_names CURSOR FOR SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' ORDER BY ordinal_position;

    select FOUND_ROWS() into num_rows;

    SET i = 1; the_loop: LOOP

    IF i > num_rows THEN CLOSE col_names; LEAVE the_loop; END IF;

    FETCH col_names 
    INTO col_name;     
    
     //do whatever else you need to do with the col name
    
    SET i = i + 1;  
    

    END LOOP the_loop;来源:stack overflow

    2020-05-17 12:43:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像