2013-02-15 101 views
0

請讓我知道如何在單個查詢中插入一對多關係。 我有表A(aId,姓,名)表B(bId,街道,pincode,aId)使用SQL插入一對多關係

+0

這看起來很可能需要一些特殊的SQL。你使用的是什麼RDBMS? MySQL,PostgreSQL,SQL Server,Oracle?你知道你需要支持哪些版本? – 2013-02-15 01:30:44

+0

我正在使用SQLite DB個人版3.4 – user1925819 2013-02-15 01:38:01

回答

2

你不知道。這就是爲什麼transactions存在。您開始一個交易,提交所有查詢,然後提交交易。數據庫從沒有任何查詢完成的狀態轉到完成所有查詢的狀態。國家之間沒有任何擔心。交易是RDBMS如何實現ACIDAtomicity組件。

+0

是否有可能如果我嘗試像插入TableB值('','','從表a援助= 2'選擇援助) – user1925819 2013-02-15 01:45:20

+0

如果你知道援助是2,你wouldn不需要進行有問題的查詢。我對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 somecondition = 1; – 2013-02-15 01:51:22

+0

我認爲這不會起作用。通常,如果你想在'INSERT'中使用'SELECT'語句,你可以使用[defined](http://www.sqlite.org/lang_insert.html)方法:'INSERT INTO TableA(Id,...) SELECT X,Y,Z,... FROM TableB' – 2013-02-15 01:51:39