2013-02-10 130 views
4

如何從兩個單獨的表中刪除一行?我認爲這是可能做到這一點使用內連接使用內部連接從兩個表中刪除行SQLITE

DELETE a.*, b.* FROM Holiday INNER JOIN Accommodation b on a.LocationID = b.LocationID

在這裏,我嘗試在第二個表中的第一個表的主鍵的位置相匹配的位置ID刪除。我得到一個SQL異常 「SQLEXCEPTION附近的」

林SQLite中這樣做,JAVA

enter image description here

+0

不知道多表的確切語法刪除,但不管你忘了的你的相關名稱假期表。 'FROM Holiday INNER JOIN'應該是'FROM Holiday in INNER JOIN' – 2013-02-10 20:37:31

+0

sqlite中沒有多表刪除。 – 2013-02-10 20:55:23

+0

哦,我該如何解決這個問題 – user1992697 2013-02-10 20:58:15

回答

7

SQLite中,一個DELETE命令只從一個表中刪除。

您的查詢,如寫的,實際上並沒有限制要刪除的記錄,所以如果你真的要刪除所有記錄,你可以使用這樣的:如果你想刪除一條記錄

DELETE FROM Holiday; 
DELETE FROM Accommodation; 

在主表與子表中的所有相應的記錄,你只要通過鍵值過濾:

DELETE FROM Holiday  WHERE LocationID = 1; 
DELETE FROM Accommodation WHERE LocationID = 1; 
+0

如果您希望程序中的用戶選擇該鍵值,而不指定它,那麼該怎麼辦? – user1992697 2013-02-10 22:32:56

+1

然後您讓用戶選擇該值,然後將該值放入查詢中。 – 2013-02-11 09:29:55

+0

謝謝,這有助於加載!雙投票! – user1992697 2013-02-11 15:11:14