- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用于报告错误的 postgres 函数。它使用调用
SELECT currval(pg_get_serial_sequence('interact', 'interact_id')) into xxx;
这个函数在php中有两种使用方式。在一种情况下,在调用函数之前访问表 interact。在这种情况下,调用(似乎)有效。在第二种情况下,调用函数之前未使用 interact,函数失败并显示消息:
currval of sequence "interact_interact_id_seq" is not yet defined in this session
CONTEXT: SQL statement "SELECT currval(pg_get_serial_sequence('interact', 'interact_id'))"
PL/pgSQL function "reporterror" line 5 at SQL statement
SQL statement "SELECT reportError( 'File(bname='|| bname || ' no location data:' || SQLERRM )"
PL/pgSQL function "uploadconfirm" line 32 at PERFORM in /home/berman/public_html/gps-photo.org/php/processFile.php on line 186
从 psql 中,您可以看到该表和一条类似的错误消息,其中包含以下短语:“尚未在此 session 中定义”。
\dSt interact;
Table "public.interact"
Column | Type | Modifiers
webrequest | text | not null
interact_id | integer | not null default nextval('interact_interact_id_seq'::regclass)
ctime | timestamp without time zone | default now()
uid | integer |
successful | boolean | default false
Indexes:
"interact_pkey" PRIMARY KEY, btree (interact_id)
Referenced by:
TABLE "files" CONSTRAINT "files_interac_fk" FOREIGN KEY (interact_id) REFERENCES interact(interact_id)
pony=> SELECT currval(pg_get_serial_sequence('interact', 'interact_id')) ;
ERROR: currval of sequence "interact_interact_id_seq" is not yet defined in this session
我不知道我做错了什么。有人可以帮忙吗。谢谢。
最佳答案
你没有做错任何事 ;) 你只需要在每个 session 中“初始化”序列。这是通过调用 nextval() 来完成的。调用 nextval 后 - 您将能够调用 currval(它将给出 nextval 最后返回的值)。
currval(regclass) bigint - Return value most recently obtained with nextval for specified sequence
关于php - postgres 故障 : SELECT currval(pg_get_serial_sequence ('interact' , 'interact_id' )) 进入 iidX;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29196835/
我需要在另一个模式中重命名一堆序列。 将 old_seq 重命名为 new_seq 不起作用。 尝试: ALTER SEQUENCE old_seq RENAME TO new_seq; 但它给了我错
1) 第一次查询 INSERT INTO stay_in_touch_contacts (id, facebook, twitter, instagram, external_contact) VAL
使用 SQLPlus,我生成了以下序列: CREATE SEQUENCE pubnum_seq START WITH 7 INCREMENT BY 2 MAXVALUE 1000; 我想要做的
我做错了什么,在第一条语句将它插入我的表后,我试图从表中获取最后一个 record_id。我似乎只打印了用于显示最后一个 id 的代码? SELECT CURRVAL (pg_get_se
我希望调用一次 NEXTVAL 并多次使用返回值。但是它不起作用。 假设序列 seq_name 现在是 10(查询是独立执行的,而不是按列出的顺序): SELECT NEXTVAL('seq_name
我在 oracle 12 中创建了一个表,其中有一列作为标识。问题是我想找到标识列的当前值。我怎么能找到这个,请有人帮我解决这个问题...... 最佳答案 您可以使用数据字典 View *_TAB_I
在我的程序中,我写了这个 INSERT INTO questions(id, value) VALUES(my_seq.NEXTVAL, p_question); INSERT INTO DEPEND
我需要插入到persons中的最后一个id,以便在java中进行一些操作。我有两个插入,然后如果我使用 getGenerateKeys 我会收到“不允许操作”错误。我使用选择查询来检索序列的当前值,但
我正在使用 postgres 数据库和 Java。我正在使用 Jooq 查询我的数据库。 我需要在我的表中插入并获取该插入生成的主键/序列。我知道在简单的 postgres 中我可以这样做: 这是我的
我的目标是在表中插入新行时自动插入一个主键字段。 如何在 PostgreSQL 中获取从一个 session 到另一个 session 的序列? doubleemploi@hanbei:/home/
这是什么意思,我该如何解决它? SELECT MySequence.CURRVAL FROM DUAL; 结果: ORA-08002: sequence MySequence.CURRVAL is n
我正在尝试使用 PostgreSQL 的 currval 函数返回名为 Concept 的表的最后插入的行 ID。 Concept 有一个名为 cid 的序列主键,还有一个名为 Concept_cid
MySQL 存储过程是: BEGIN set @sql=_sql; PREPARE stmt FROM @sql; EXECUTE stmt; DEA
我正在使用 PostgresQL 数据库,其中触发函数将更改记录到历史表中。我正在尝试添加一个保留逻辑“提交 ID”的列,以将主记录和详细记录组合在一起。我已经创建了一个(非临时的)序列,并且在我开始
我正在从一个 php 文件运行一个 INSERT 查询,但是我需要从一个外部 php 文件中获取最后插入的 id,以便运行另一个基于该 id 的查询。如何使用 CURRVAL 或 RETURNING
我在使用 JPA/Hibernate 时遇到了一个令人困惑的问题:将值插入表后,对不存在的关系/序列执行 select currval() 。我有两个类似的案例,一个有效,另一个无效。 这是第一个非工
我有一个用于报告错误的 postgres 函数。它使用调用 SELECT currval(pg_get_serial_sequence('interact', 'interact_id')) into
我想知道我用来检索插入到 postgresql 表中的最后一行的 id 的方法是否有效.. 它显然有效,但是当我有许多用户同时在同一个表中添加行时,引用序列 currval 值可能会出现问题。 我的实
我是一名优秀的程序员,十分优秀!