2011-03-18 71 views
0

Hy .my問題是我有一個多對多的關係到一個數據庫中,這個數據庫被映射到兩個表之間的一張表中。只是說我有表員工和服務人員之間有很多很多的關係,他們之間的表格是XXX。現在,如果我想添加一名員工,並且將他與某項服務聯繫起來,那麼如果員工的主鍵在自動增量上,我該如何做?
我將不得不插入僱員..然後選擇它來找出他的主keyId,然後插入XXX表與服務相關。現在我的問題是:有沒有另一種方式。對不起,如果這已經answerew,但我只是不知道如何搜索答案.Remider,我必須在一個Java應用程序。 THX數據庫插入在多對多的關係中.Dumb question

我的例子:
create table employees(
id_employee primary key auto_increment
)

create table services(
id_service primary key auto_increment
)

和midlle一個
create table xxx(
id_employee primary key foreign key references employees(id_employee)
id_service primary key foreign key references services(id_service)
)

遺憾的haste..but我希望你能我使用MySQL的

的ideea.Ps
+0

檢查此相似的(如果不是完全一樣)的問題:http://stackoverflow.com/questions/515278/insert-rows-parent-and-children-programmatically – 2011-03-18 21:57:30

回答

1

您不需要選擇,您可以從數據庫中獲取lastInsertedId。根據你使用的數據庫會有所不同。

對於MySQL,你可以在這裏讀到它:http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

所以

  • 插入
  • 得到最後插入的ID沒有被選擇,但只是通過詢問數據庫(因爲它會返回最後插入ID由你的連接,而不是總體,這應該是線程安全的)。
  • 重複:)
+0

感謝幫助。但是在Java中類似的東西? – Alexander 2011-03-18 22:02:22

0

我只是想我5毛錢添加到Nanne的答覆。 有different ways,如果您在使用連接器/ J檢索在Java中最後插入的ID:

  • 使用SELECT LAST_INSERT_ID(),
  • 使用可更新結果使用的Statement.getGeneratedKeys(),