0

我正在尝试在 postgres 嵌入式数据库中使用 currVal 函数来获取我在同一会话的插入语句中插入的值。请在下面找到相同的代码。

学生表定义:

CREATE TABLE student (
    id bigserial NOT NULL,
    name varchar(255) NOT NULL,
    number int8 NOT NULL,
);
CREATE TABLE student_course (
    student_id foreign_key references student(id),
    course_name varchar(255) NOT NULL
);

查询插入学生:

insert into student (name,number)
values("Student1","55");

查询获取 id 列:

insert into student_course
select currval(pg_get_serial_sequence('student','id')), 'course1';

两个插入查询都在单个会话中运行,但是在使用 currVal 函数获取插入的 id 时我得到空值。

相同的查询适用于实际数据库,但不适用于嵌入式扩展。我正在为嵌入式数据库使用 postgis docker 映像。

4

0 回答 0