使用表名未知的列值从表中检索某些字段

时间:2012-12-20 12:02:53

标签: mysql sql

我正在尝试从用户动态获取产品的成本和itemno。所以我不知道产品在哪个表格下。

SELECT cost,itemno FROM inde.columns WHERE column_name ='previousItems';

其中inde是架构名称,previousitem是我在jsp中动态从用户获得的产品名称。
我收到错误消息,因为sql语法错误。以下是错误消息

  

javax.servlet.ServletException:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
      您的SQL语法有错误;查看与您的手册相对应的手册       MySQL服务器版本,用于在第1行的')'附近使用正确的语法

2 个答案:

答案 0 :(得分:0)

通过此

替换您的查询
    SELECT cost,itemno FROM inde WHERE column_name ='previousItems';

如果inde是表格的名称

答案 1 :(得分:0)

您可以使用以下查询按列名搜索未知表:

    SELECT DISTINCT TABLE_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME IN ('COLOM_NAME_TO_SEARCH')
    AND TABLE_SCHEMA='YOUR_DATABASE_NAME';