是否可以在一系列 SQL 语句中获取字段的值并使用它来命名另一个语句中的表?我不确定这是否清楚,所以这是我想要做的一个伪示例:
// dataType is equal to "ratings"
@var = select dataType from theTable where anID = 5;
// needs to run as "from ratings-table"
select field1,field2 from @var-table where anID = 5;
我一直在阅读http://dev.mysql.com/doc/refman/5.0/en/user-variables.html但要么我没有正确理解这一点,要么它不是我正在寻找的解决方案。
最佳答案
是的,您可以使用prepared statements来做到这一点:
SET @TableName := 'ratings';
SET @CreateQuery := CONCAT('SELECT `field1`, `field2` FROM `', @TableName, '-table` WHERE `anID` = 5');
PREPARE statementCreate FROM @CreateQuery;
EXECUTE statementCreate;
关于mysql - 使用 mySQL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4795909/