0

我正在尝试从jsp. 我正在使用三个表中的数据,用户可以从中选择产品。所以我所知道的将是可以出现在这三个表中的任何一个中的产品名称,所以基本上我不知道表名。我将产品传递到servlet我想展示产品及其cost和的地方itemno。我使用了以下查询,但只收到一条错误消息

ResultSet rs=st.executeQuery
("SELECT * FROM indi.COLUMNS WHERE column_name ='" +  previousItems + "');");

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

javax.servlet.ServletException:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
表'indi.columns'不存在

4

2 回答 2

1

您可以通过此查询表名称:

SELECT
    `TABLE_NAME`
FROM 
    `information_schema`.`TABLES`
WHERE
    `TABLE_SCHEMA` = [DATABASE_NAME]

然后你可以查询每个表...

于 2012-12-21T06:20:42.093 回答
1

如果你想检索一些你不知道列名的列值,有一个列名命令,它会给你现有表的所有列名

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

我认为这会有所帮助。

于 2012-12-21T06:52:02.660 回答