Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL。当一个表使用外键与另一个表关联时,如何同时将数据插入到两个表中_Sql_Postgresql_Typeorm - Fatal编程技术网

SQL。当一个表使用外键与另一个表关联时,如何同时将数据插入到两个表中

SQL。当一个表使用外键与另一个表关联时,如何同时将数据插入到两个表中,sql,postgresql,typeorm,Sql,Postgresql,Typeorm,我有两张桌子: Attr.type\u id是type.id 假设我要保存以下数据: { name: 'cats', attributes: ['breed', 'weight'] } 我希望在保存之后: 如何正确编写插入查询 我知道我不能同时插入两个表。我应该使用事务吗?或者有一个简单的方法,因为这看起来很琐碎,但事实并非如此 如果您知道如何使用TypeForm来实现这一点,我们也将不胜感激 更新:我正在使用PostgreSQL,因为type table是主键表,主键先插入id,

我有两张桌子:

Attr.type\u id
type.id

假设我要保存以下数据:

{
  name: 'cats',
  attributes: ['breed', 'weight']
}
我希望在保存之后:

如何正确编写插入查询

我知道我不能同时插入两个表。我应该使用事务吗?或者有一个简单的方法,因为这看起来很琐碎,但事实并非如此

如果您知道如何使用TypeForm来实现这一点,我们也将不胜感激


更新:我正在使用PostgreSQL,因为type table是主键表,主键先插入id,然后再插入attr表中。按照这种顺序,约束完整性将得到保证,因为外键总是为特定属性引用其父表。因此,在您的案例中,id是需要在类型表中引用然后插入attr表中的id

插入
类型
表,然后插入
属性
表。。。按这个顺序。使用事务可以确保两个插入都是原子化的,但从您的问题中不清楚您是否需要它。@不,我不知道,没有什么重要的。我真的不想提出两个请求,它们是两个SQL语句。如果只需要一个请求,可以编写一个存储过程,但这很麻烦。只需执行两个SQL请求。