在psql上创建Uuid列时,我无法让LAST_瓦尔工作:
CREATE TABLE t (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
title text NOT NULL
);
# insert into t (title) values ('hello'), ('world');
INSERT 0 2
# select LASTVAL();
ERROR: lastval is not yet defined in this session
字符串
1条答案
按热度按时间qij5mzcb1#
为了澄清这个混淆,
nextval()
和lastval()
是sequence manipulation functions,而gen_random_uuid()
与序列无关。需要说明的是,
currval()
和lastval()
与nextval()
结合使用是完全安全的。两者都返回一个会话本地值,并发会话(=并发事务)不会干扰它。请参阅:使用前面建议的
RETURNING
子句。在任何情况下都有效。