【问题标题】:insert one-many relationship using SQL使用 SQL 插入一对多关系
【发布时间】:2013-02-15 09:43:05
【问题描述】:

请告诉我如何在单个查询中插入一对多关系。 我有表 A (aId,name,surname) 表 B (bId, street, pincode,aId)

【问题讨论】:

  • 这看起来可能需要一些特殊的 SQL。您使用的是什么 RDBMS? MySQL、PostgreSQL、SQL Server、甲骨文?您知道您需要支持哪些版本吗?
  • 我正在使用 SQLite DB 个人版 3.4

标签: sql sqlite


【解决方案1】:

你没有。这就是transactions 存在的原因。您开始一个事务,提交所有查询,然后提交事务。数据库从没有完成任何查询的状态进入完成所有查询的状态。无需担心中间状态。事务是 RDBMS 实现 ACIDAtomicity 组件的方式。

【讨论】:

  • 如果我尝试像插入 TableB 值('','','select aid from Table a whereaid=2')有可能
  • 如果你知道aid是2,你就不需要做有问题的查询。我自己不熟悉 SQLite,但是在其他 RDBMS 中,您可以执行类似 INSERT INTO TableB (a, b, c, d) SELECT 1 AS a, 2 AS b, 'Something AS c, AID as d FROM TableA WHERE 之类的操作某些条件 = 1;
  • 我认为这行不通。通常,如果您想在 INSERT 中使用 SELECT 语句,请使用 defined 方法:INSERT INTO TableA (Id, ...) SELECT X, Y, Z, ... FROM TableB
猜你喜欢
  • 1970-01-01
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 2015-03-16
  • 2022-12-18
  • 2021-05-10
  • 2019-04-17
相关资源
最近更新 更多