【发布时间】:2011-01-01 07:55:29
【问题描述】:
我在 Google 上搜索并阅读了几篇关于不同人如何解决此问题的文章,但我想知道解决此问题的标准方法是什么以及,哪一个最适合我的情况。
我有一个创建新问题的 AJAX 页面,我需要知道如何从下一行的同一 php 文件中的插入查询中检索 ID。
看起来像这样:
$r = pg_query("INSERT INTO questions (audit_id, type_id, order) VALUES (1,1,1)");
// Fetch ID from $r here...
我看过 MySQL 的 mysql_insert_id() 函数,听说 pg_last_oid() 与 PostgreSQL 类似,但 documentation 声称它已被弃用,很快就会被删除。我也看到了CURRVAL('my_sequence_table.id') 的使用,但我不确定这是否适用于 AJAX,因为这可能会引发竞争条件。
谁能告诉我解决这个问题的标准 PHP/PostgreSQL 方法?我将不胜感激任何 cmets。
附:我想念 Ruby on Rails!
【问题讨论】:
-
哦顺便说一句,pg_last_oid 肯定不是一个好主意。默认情况下,表不再具有 OID。
-
@alvherre - 是的,我在阅读的某个地方发现了这一点。 OID 中的 O 到底代表什么?
-
“对象”。请注意,OID 仍用于标识系统对象(即表、模式、数据库等)。
-
@alvherre - 谢谢。很有趣。
标签: php database postgresql