2015-02-06 56 views
0

說我是否有3個tabeles:Reader,Book,Readers_book。MySQL中的關係數據庫

讀者

#email,姓名,密碼

#BookID,FK BOOKNAME,的BookType

ReadersBook

#ReaderBookID,BOOKNAME,FK電子郵件

我將如何執行插入語句當讀者需要新書時填充這些表格。鑑於讀者已經有了電子郵件,姓名和密碼。我會使用連接還是執行兩個單獨的插入語句?

還是任何人都能推薦一個更好的方式來模擬這種數據?

+0

據我所知,您可以使用只能加入一個選擇。首先寫入依賴的行(Book和Reader /如果不存在),然後插入到讀者手冊 – 2015-02-06 13:30:27

+0

將'INSERT或IGNORE'工作在具有AUTOINCREMENT行的表上 – user3723666 2015-02-06 14:26:10

+0

您可以覆蓋任何列,甚至自動增量。不知道你對IGNORE的意思。您應該將您的插入包裝在COMMIT中。 – 2015-02-06 14:34:30

回答

0

更靈活的模型應該是...

enter image description here

...你將不得不分別插入到每個表。

+0

實際上,除了它顯示爲類圖之外,OP的模型沒有區別。所以它不是更靈活。 – 2015-02-06 14:32:46

+1

使用ID來關聯數據意味着不需要在多個地方改變「書名」之類的東西,我會更靈活地調用它。 – neokio 2015-02-06 14:36:36

+0

是的。這並不明顯。在列中重複表名是不好的設計。 – 2015-02-06 14:44:42

0

您不能在插入,更新和刪除命令中使用連接,但可以使用多個語句並用';'分隔

插入到表1(COL1,COL2)值(?,?);(?)插入到表2(COL1,COL2)vslues