2011-12-25 33 views
0

您將如何實現以下內容?關於執行外鍵相關數據的理論解決方案

我想插入數據到mysql表。假設有兩個表存在外鍵關係。首先,我插入一行,該行的主鍵應作爲外鍵插入到另一個表的某行中。所以當我想插入外鍵和它的相關數據時,我必須知道另一個表中相關行的主鍵。因爲我是初學者,所以我的解決方案如下:我將一個帶有特定數據的字段值插入到原始表中,以便可以使用插入的值用SELECT檢索主鍵,然後將檢索到的主鍵鍵作爲另一個表的相關行的外鍵。

雖然我不知道更好的解決方案,但我認爲這將是一種非常笨拙的方式來實現這一邏輯。必須有更好的方式來做到這一點。

+0

您打算如何插入值?手動? Scriptomatically?使用網頁? – Karlson 2011-12-25 08:04:15

回答

1

您的解決方案將無法正常工作,因爲如果您插入的不是唯一數據,則可能無法檢索相應的主鍵。 MySQL爲此提供了LAST_INSERT_ID()函數。只需將行插入主鍵表中,然後使用SELECT LAST_INSERT_ID()即可。它返回插入到原始表中的最後一個主鍵值(最後一個插入查詢),現在可以將它用作相關表中的外鍵。

+0

謝謝,它絕對更好! – 2011-12-25 15:22:20

相關問題