我在这个主题上找到了一些其他的问题。 这一个...
mysql_insert_id alternative for postgresql
...以及手册似乎表明,您可以随时调用lastval()
并且它将按预期工作。 但是这一个...
...则表示它必须在事务内部。 那么我的问题是:我是否可以在查询lastval()
之前等待任意长时间(不使用事务)?在许多并发连接的情况下,这是否可靠?
我在这个主题上找到了一些其他的问题。 这一个...
mysql_insert_id alternative for postgresql
...以及手册似乎表明,您可以随时调用lastval()
并且它将按预期工作。 但是这一个...
...则表示它必须在事务内部。 那么我的问题是:我是否可以在查询lastval()
之前等待任意长时间(不使用事务)?在许多并发连接的情况下,这是否可靠?
在PostgreSQL中,INSERT、UPDATE和DELETE操作都有RETURNING子句,这意味着你可以执行如下操作:
INSERT INTO ....
RETURNING id;
然后查询将为每个插入的行返回其所插入的id值。这样可以避免向服务器发送额外的查询请求,节省时间。