在下面的MySQL中考虑此示例。
DECLARE myText TEXT;
SET myText = "myColumn";
SELECT * FROM myTable WHERE myText = "myValue";
在上述情况下,它不会选择任何列,因为myText的值永远不会是“ myValue”。但是,我真正想做的是将myText的值解释为查询的一部分,以便执行的最终查询为:
SELECT * FROM myTable WHERE myColumn = "myValue";
我怎样才能做到这一点?
最佳答案
SET @myText = "myColumn";
SET @s = CONCAT('SELECT * FROM myTable WHERE ', @myText, ' = "myValue" ');
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
关于mysql - 将TEXT的值解释为查询的一部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7664507/