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的复杂性,因此对我的项目确实有帮助。谢谢你的帮助。

回答:

我想你想要这样的东西:

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;

以上是 mysql,遍历列名 的全部内容, 来源链接: utcz.com/qa/406774.html

回到顶部