在pgadmin4将id保存在postgresql中后,我无法从“test”表中检索到id:
这里是表“test”的pgadmi4生成的create脚本:
CREATE TABLE school.test
(
test_id bigint NOT NULL DEFAULT nextval('school.test_test_id_seq'::regclass),
name character varying(10) COLLATE pg_catalog."default"
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
ALTER TABLE school.test
OWNER to postgres;
Connection conn = pstgConn.dbConnection();
String query = "INSERT INTO school.test(name) VALUES (?)";
try (PreparedStatement pst = conn.prepareStatement(query)) {
pst.setString(1, "anything");
pst.executeUpdate();
//Get Sequential number of the table
getSerialNum(conn);
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void getSerialNum(Connection connection) {
int serialNum = 0;
try {
Statement stmt = connection.createStatement();
// get the postgresql serial field value with this query
String query = "html" target="_blank">select currval('test_id')";
ResultSet rs;
rs = stmt.executeQuery(query);
if (rs.next()) {
serialNum = rs.getInt(1);
System.out.println("serialNum = " + serialNum);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
org.postgresql.util.psqlexception:错误:关系“test_id”不存在位置 ;:16在org.postgresql.core.v3.queryexecutorimpl.receiveerrorresponse(queryexecutorimpl.java:2103)在org.postgresql.core.v3.queryexecutorimpl.processresponse(queryexecutorimpl.java:1836)在org.postgresql.core.v3.queryexecutorimpl.execute(queryexecutorimpl.java:257)在org.postgresql.jdbc2.abstractjdbc2statement.execute WithFlags(abstractJDBC2Statement.java:374)在org.postgresql.jdbc2.abstractJDBC2Statement.executeQuery(abstractJDBC2Statement.java:254)在com.cgi.training.javase.school.dao.testdao.getSerialNum(testdao.java:45)在com.cgi.training.javase.school.dao.testdao.main(testdao.java:21)在com.cgi.training.javase.school.dao.testdao.main
来自@a_horse_with_no_name的响应:您的序列名为test_test_id_seq,但您正在将名称test_id传递给currval()-a_horse_with_no_name的调用
问题内容: 我正在尝试在PostgreSQL 8.4.2 DB上运行hibernate模式。每当我尝试运行一个简单的Java代码,例如: 我收到以下错误: 由于我将选项hibernate.show_sql选项设置为true,因此可以看到hibernate尝试运行以下SQL命令: 实际上,它至少应运行以下命令: 有谁知道我需要进行哪些更改才能使Hibernate为PostgreSQL生成正确的SQL
我使用PostgreSQL 10、Spring Boot 2.2.7.Release和pgAdmin 4来实现Postgres GUI 我有以下实体类: 我已经使用GUI PGADMIN4为ID列“TB03_TABLE_A_SEQ”创建了表“TB03_TABLE_A”和序列 我哪里出问题了?请救命! 提前感谢!
我的查询不执行 错误:关系“student_id_seq”不存在SQL状态:42P01
我在heroku上创建了java(Spring)应用程序,并将postgreql连接到它。当我在应用程序上发出请求时,日志显示 WARN 4-[io-14883-exec-3]o . h . engine . JDBC . SPI . sqlexception helper:SQL错误:0,SQLState:42p 01 app[web.1]:2016-12-11 12:13:09.942错误4-
由于一些奇怪的原因,hibernate生成的查询不适用于postgres,它告诉它无法找到关系/表,即使在架构中有有效的表?这个答案没有帮助。 例外情况: HQL公司 生成SQL 此查询工作正常: 基于胶片实体注释的映射: 解决方案/黑客: 评论后,问题消失了。
:“查询执行失败。原因: SQL错误[42P01]:错误:关系”temp_table“存在。 不存在” 我想创建一个临时表来临时存储一些记录。