【发布时间】:2023-02-16 23:30:28
【问题描述】:
INSERT ... RETURNING 是否按输入顺序返回行?文档对此不清楚。这对于获取插入行的 ID 并在相关记录中使用它们非常有用。
事实上,我认为这就是 import 包(对于 Rails)所做的,例如:
authors = [Author.new()]
books = [Book.new(author: authors[0])]
Author.import(authors)
Books.import(books)
将根据作者为导入的书籍在书籍中设置正确的 author_id。在控制台中,sql 语句似乎是一个INSERT ... RETURNING,然后我猜模型是在后台用 ids 更新的。
但是,这是 Postgres 的一个特性吗?或者只是这个包以某种方式解决了这个问题。
在这里提出了类似的问题没有任何结果,也许这次有人可以确认。
【问题讨论】:
标签: sql ruby-on-rails postgresql sql-insert