大家好 检查这个场景
表 1 列 -> | table_1_id (pkey) |一些列 |评论 |
表 2 列 -> | table_2_id (pkey) | some_other_column | table_1_id (fkey) |评论 |
所有主键都是序列号或自动编号类型。 表 2 的第 3 列是引用表 1 主键的 fk。
我想以编程方式(从 C++ 应用程序)将行插入到两者中
我是否必须先插入表 1,然后选择查询条目的主键,然后使用 pkey 结果插入表 2 行?
有没有更有效的方法来处理这个问题?假设使用近 2 个查询?
最佳答案
我建议查看 http://wiki.postgresql.org/wiki/FAQ
该站点是熟悉 PostgreSQL 的有用资源
具体来说,如何获取串行插入的值?
部分The simplest way is to retrieve the assigned SERIAL value with RETURNING. Using the example table in the previous question, it would look like this:
INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
您还可以调用 nextval() 并在 INSERT 中使用该值,或者在 INSERT 之后调用 currval()。
关于sql - 插入 2 行,每行插入不同的表,其中一行引用作者的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4734394/