我在PHP中使用PDO和PostgreSQL。
我会让我的用户上传文件。
我想将记录ID添加到已保存的图像中。
是否可以在插入数据库之前获取(或保留)记录ID。
我认为这不可能只是想确定。
答案 0 :(得分:8)
是的,您应该使用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 (?, ?) ;
答案 1 :(得分:1)
你也可以这样做:
BEGIN
INSERT RETURNING
get id
rename file
COMMIT