postgresql - 错误:函数 last_insert_id() 不存在
问题描述
我的查询是:
-- Table: public.student1
-- DROP TABLE public.student1;
CREATE TABLE public.student1
(
id integer NOT NULL DEFAULT nextval('student1_id_seq'::regclass),
country character varying(30) COLLATE pg_catalog."default" NOT NULL,
email character varying(30) COLLATE pg_catalog."default" NOT NULL,
first_name character varying(255) COLLATE pg_catalog."default" NOT NULL,
last_name character varying(255) COLLATE pg_catalog."default" NOT NULL,
section character varying(255) COLLATE pg_catalog."default" NOT NULL,
sex character varying(255) COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT student1_pkey PRIMARY KEY (id)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
ALTER TABLE public.student1
OWNER to postgres;
在运行我的项目时,错误是:
错误:函数 last_insert_id() 不存在
提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
解决方案
last_insert_id()
是一个 mysql 函数,在 postgresql 中不可用。
对于 postgres 使用:
INSERT INTO student1() VALUES () RETURNING id
-- 没有额外的查询SELECT LASTVAL()
-- 返回用 nextval 获得的最新值- 使用特定于您的数据库客户端库的东西。
推荐阅读
- android - 错误:W/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() 返回 Gms
- android - Cordova Android 应用程序强制在构建后关闭
- php - CI4 从选定的字符串中插入 ID
- python-3.x - Anaconda3 的 IPython.frontend.terminal.embed 包在哪里?
- php - 如何从 json 内容中提取键和值?
- r - R:删除除方括号“[”“]”和问号“?”之外的标点符号
- python - Selenium Python 文本的下标
- c# - 在 Asp.Net 中有效地转发响应体
- css - 使用 CSS 表达样式
- python - 通过子类化创建的自定义层中缺少权重