使用mySQL变量

使用mySQL变量,mysql,variables,Mysql,Variables,在SQL语句序列中,是否可以获取字段的值并使用该值在另一个语句中命名表?我不确定这是否清楚,所以这里有一个psudo示例,说明我正在尝试做的事情: // 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

在SQL语句序列中,是否可以获取字段的值并使用该值在另一个语句中命名表?我不确定这是否清楚,所以这里有一个psudo示例,说明我正在尝试做的事情:

// 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;

我一直在阅读,但要么我没有正确理解这一点,要么这不是我正在寻找的解决方案

是的,您可以使用:


在您的示例中,对于您想要得到的字段1和字段2,anID在两种情况下均为5。在您的数据库中也是这样吗?
SET @TableName := 'ratings';
SET @CreateQuery := CONCAT('SELECT `field1`, `field2` FROM `', @TableName, '-table` WHERE `anID` = 5');
PREPARE statementCreate FROM @CreateQuery;
EXECUTE statementCreate;