php - 是否有可能在插入之前获取要插入数据库的id

标签 php postgresql pdo

我在 PHP 中将 PDO 与 PostgreSQL 结合使用。

我会让我的用户上传文件。

我想给保存的图片添加记录id。

是否可以在插入数据库之前获取(或保留)记录 ID。

我不认为这是可能的,只是想确定一下。

最佳答案

是的,您应该使用 postgres 函数 nextval 来获取序列中的下一个值。查看表的 id 列中的默认值,它应该包含对使用的序列的 nextval 调用。

例如,如果表格看起来像这样:

image_id bigint not null default nextval('image_image_id_seq'::regclass)
data bytea not null

你可以调用:

SELECT NEXTVAL('image_image_id_seq') ;

这将“保留”您稍后使用的 id:

INSERT INTO image (image_id, data) VALUES (?, ?) ;

关于php - 是否有可能在插入之前获取要插入数据库的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800856/

相关文章:

php - pdo 驱动程序不支持 Linux 上的事务

javascript - 当我使用 js src 从 php 页面获取内容时,Google 不会在搜索结果中显示我的页面

regex - 检查 `LIKE` 模式是否在 Postgres 中相交

postgresql - 在 CLI 而不是 nano 中显示 psql 查询的结果集

php - 为什么这个 PDO 语句会默默地失败?

php - 数组值在表中插入为 0

php - 建立数据库连接时出错: Google App Engine Deploy

php 将2个数组合并为一个关联数组

php - 从 php scandir 列表中删除文件夹

node.js - 如何在 Node.js 中创建 "private beta"用户队列系统?