这里最主要的就是 !注意所有的字段都有注释才行,如果没有注释,查询字段名称拼接的就都是空白,那么就会出错!!!
我们首先使用GROUP_CONCAT函数来构造一个包含所有字段名和注释的字符串,每个字段名和注释之间用逗号分隔,并且用反引号包围字段名和注释以避免可能的语法错误。然后,我们将这个字符串作为SELECT语句的一部分,并与其他SQL语句拼接起来。最后,我们执行了这个动态构造的SELECT语句。
请注意,这个例子假设每个注释都是唯一的,
第1步:查询字段名
SELECT
GROUP_CONCAT( CONCAT( '`', COLUMN_NAME, '` AS `', COLUMN_COMMENT, '`' ) ORDER BY ORDINAL_POSITION SEPARATOR ', ' ) INTO @column_names
FROM
information_schema.COLUMNS
WHERE
table_name = 'mes_inventory_coil'
AND TABLE_SCHEMA = "mesdb_nca_prod"
ORDER BY ORDINAL_POSITION; -- 替换为你的表名和数据库名称
第二步: 构造Select语句
SET @sql = CONCAT('SELECT ', @column_names, ' FROM mes_inventory_coil WHERE coil_status = 0');
第3步:执行SELECT语句
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;