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 - MySQL 使用 codeigniter 在库中插入

php - json_array 中的 Doctrine 搜索

sql - 进行内部连接时,索引顺序很慢

php - Laravel 5 与 PostgreSQL

php - 数组到字符串转换错误/PDO 在数组中执行数组

php - 有没有办法提高mysqli-> prepare的执行速度?

php - 用 WordPress TinyMCE wp_editor() 替换文本区域

Ruby隐藏输入密码

php - PDO无法输出正确的行数

PHP:如何在单个查询中优化这些 MySQL 查询?