我在从结果集中获取值时遇到此错误。
Error : com.microsoft.sqlserver.jdbc.SQLServerException: The column name company.short_name is not valid
案例 1:
select company.short_Name,location_name from company,location;
此查询在 SQL Server 上执行良好,但在我的 java 代码中,当我尝试检索像 resultset.getString("company.short_name");
这样的值时,出现上述错误。
案例 2:
select company.short_Name short_name,location_name from company,location;
并检索像 resultset.getString("short_name");
这样的值,它在数据库 MySQL 和 MSSQL 上都能正常工作。
我正在将我的数据库从 MySQL 迁移到 MSSQL。上述情况 1 在 MySQL 中工作正常,但为什么它在 MSSQL 中不起作用?
最佳答案
resultset.getString("company.short_name");
这里是错误的。尝试在您的应用程序中获取数据时无需指定完全限定名称。只需指定列名称,例如 resultset.getString("short_name");
。
因为即使您说 select company.short_Name ...
查询列名称为 short_Name
因为这是在表架构中定义的。
如果两个表具有相同的列,这可能会导致歧义,请为列提供别名,例如
select company.short_Name as company_shortname,
location.short_Name as location_shortname,
location.location_name from company,location;
关于java - 列名无效 - 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31921482/