在MySql中使用变量名作为表名

时间:2014-05-19 19:25:58

标签: mysql sql

我有以下表格排列(tableX和tableY)是类似的模式。当我的意思是{object.table}我希望真正的桌子而不是字符串。现在我要做的是为Object表中的每个条目执行以下SQL。但我想知道是否有任何SQL解决方案,我可以做到这一点是一个单一的查询。

SELECT
    persons.person_id AS "person_id",
    {object.table}.avl AS "available",
    "{object.variable_name}" AS "variable_name",
FROM
    persons
INNER JOIN {object.table} ON {object.table}.person_id = persons.person_id
WHERE
    {object.table}.{object.column} = {object.code};

Object
- table (tableX, tableY)
- column
- code
- variable_name

tableX
- person_id
- more_info

persons
- person_id

1 个答案:

答案 0 :(得分:1)

您正在尝试使用表名和列名作为查询中的参数;这是不可能的。表名和列名在SQL查询中不能是动态的。

但是可以使用PREPARED查询以编程方式实现,并且这里给出了一个很好的示例代码示例 Can I use a dynamic table name in stored procedure