我有一个包含列名的变量。 我想像这样选择一个选择
select `@x` from table;
有可能吗?
答案 0 :(得分:1)
您可以按如下方式使用prepared statement:
SET @x = 'some_field';
SET @s = CONCAT('SELECT ', @x, ' FROM table;');
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
答案 1 :(得分:1)
这应该有效:
SET @y = CONCAT('SELECT ', @x, ' FROM table;');
PREPARE stmt1 FROM @y;
EXECUTE stmt1;