java - 即使该列存在,我也会收到未找到列的异常

标签 java mysql jdbc

我想使用 Java 对 MySQL 数据库执行查询。代码如下所示:

ResultSet resultSet = statement.executeQuery("select col1 from tb1 inner join tb2 on tb1.col2 = tb2.col3 where col4='"+foo+"'");

当我使用 shell 时,该查询工作正常,但当我使用 Java 运行它时,该查询不起作用,因为它说 col4 不存在。但 col4 存在。

我刚刚尝试过这样的事情;

select col1 from dbname.tb1 as a inner join dbname.tb2 as b on a.col2 = b.col3 where b.col4 = 'foo'

最佳答案

您应该使用表前缀“tb1”或“tb2”来调用 col4。

例如: 从 tb1 中选择 tb1.col1 在 tb1.col2 = tb2.col3 上内连接 tb2,其中 tb1.col4=...

关于java - 即使该列存在,我也会收到未找到列的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50511672/

相关文章:

php - 在mysql中,如何通过附加过滤器获取基于php数组的数据?

java - SQLException 从 JTable 和数据库中删除行

java - 您可以使 Redis 中的 hashKey 的键值对过期吗

java - jmh 从基准改变状态的最佳实践

仅当限制为少于 100k 条目时,用于创建新表的 MySql 语句才有效

java - 我的 sql jdbc 方法可以免受 sql 注入(inject)攻击吗?

java - 获取最后插入的记录的值

java - 如何从 libpd pd-for-android 接收数据

java - 在数据库和 postman 上无法看到实际上传的文件(.pdf 格式)格式?

mysql - WordPress 报告数据库错误,但修复没有任何作用