在mysql的select语句中添加一个生成的注释



我知道可以像下面这样为选择语句添加注释:

select /*my comment*/ id, name from myTable;

但是有可能使这个注释更灵活和动态吗?例如,我想在过程的select语句中添加以下变量作为注释。

set @mytext = 'a dynamic comment generated by code';

目的是获取processlist中消耗大量时间的查询的更多细节。

用户变量只能用来代替字符串。

要将其用作注释,必须将SQL查询格式化为字符串,并将变量连接到字符串中,然后使用动态SQL执行该字符串。

SET @query = CONCAT('select /* ', @mytext, ' */ id, name from myTable');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

最新更新