Java PostgreSQL&;JDBC:INSERT INTO返回空结果集
我有一个带有返回值的insert语句。问题是,只有插入到零件中的部分起作用,但不返回任何内容。我也尝试过使用表属性和常量值。我正在使用org.postgresql:postgresql:9.3-1101-jdbc41驱动程序 是否有任何解决方案使此查询正常工作Java PostgreSQL&;JDBC:INSERT INTO返回空结果集,java,sql,postgresql,jdbc,insert-into,Java,Sql,Postgresql,Jdbc,Insert Into,我有一个带有返回值的insert语句。问题是,只有插入到零件中的部分起作用,但不返回任何内容。我也尝试过使用表属性和常量值。我正在使用org.postgresql:postgresql:9.3-1101-jdbc41驱动程序 是否有任何解决方案使此查询正常工作 private Blitz blitzToDB(Blitz curr) { try { SolarPosition position = new SolarPosition(System.currentTi
private Blitz blitzToDB(Blitz curr)
{
try
{
SolarPosition position = new SolarPosition(System.currentTimeMillis(),curr.BlitzLat,curr.BlitzLon);
PreparedStatement blitz_insertion = mPostgresConn.prepareCall("INSERT INTO blitzv2_blitzes (blitz_lat, blitz_lon, blitz_mapx, blitz_mapy, blitz_map, blitz_country, blitz_region, blitz_subregion, blitz_settlem, blitz_settlemtype, blitz_concattype, blitz_sunelev, blitz_str) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?) RETURNING '0'");
blitz_insertion.setDouble(1, curr.BlitzLat);
blitz_insertion.setDouble(2, curr.BlitzLon);
blitz_insertion.setDouble(3,0);
blitz_insertion.setDouble(4, 0);
blitz_insertion.setString(5, "LIVE");
blitz_insertion.setString(6,curr.BlitzCountry);
blitz_insertion.setString(7,curr.BlitzRegion);
blitz_insertion.setString(8,curr.BlitzSubregion);
blitz_insertion.setString(9,curr.BlitzSettlem);
blitz_insertion.setString(10,curr.BlitzSettlemType);
blitz_insertion.setString(11,"NONE");
blitz_insertion.setDouble(12,curr.SunElevation);
blitz_insertion.setString(13,curr.BlitzStreet);
ResultSet rs = blitz_insertion.executeQuery();
if(rs.next())
{
System.out.println(rs.getInt(1));
// curr.BlitzID = rs.getLong(1);
}
else
{
System.out.println(":(");
}
return curr;
}
catch (Exception ex)
{
ex.printStackTrace();
ErrorLog.pushError(ErrorLog.ErrorKinds.BlitzSqlError,ex);
curr.BlitzID = 0L;
return curr;
}
}
如果从
psql
运行相同的语句,会发生什么?目标表是插入do时带有触发器或规则的视图还是分区表?是的,表已分区(按blitz_时间-每月分区)。没有返回任何内容。修改触发器函数有帮助。谢谢!请发布一个答案,自我解释问题,然后你做了什么。谢谢。仍然没有解决返回问题,目前我在插入查询之后使用currval(串行)查询。