我想从MySQL表中获取所有列名,循环遍历每个列名,然后使用这些列名作为变量运行存储过程.有效的东西:
colnames = get column names from table
for each colname
if something changed then
do something
else
do something else
Run Code Online (Sandbox Code Playgroud)
它看起来SHOW COLUMNS FROM myTable会给我列名称,但是如何将列名称放入循环?
我真的想在使用本机SQL的存储过程中运行所有这些.因为我还在学习MySQL的复杂性,这真的有助于我的项目.谢谢你的帮助.
use*_*714 18
我想你想要这样的东西:
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;
Run Code Online (Sandbox Code Playgroud)
您可以针对 information_schema 编写查询来获取列名称:
SELECT column_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name'
ORDER BY ordinal_position
Run Code Online (Sandbox Code Playgroud)
然后,就像表中的任何数据一样返回列名。
| 归档时间: |
|
| 查看次数: |
28872 次 |
| 最近记录: |