2015-01-08 45 views
1

我有一種情況,我需要爲mysql中的串行類型列創建一個外鍵。如何在sql中創建串行數據類型列的外鍵

而且我也想知道,是否這是一個很好的做法/標準定義的串行類型的列外鍵(這是一個主鍵)

表1:

txn_id SERIAL, 
txn_status integer 

表2:

txn_id integer foreign key (for table1.txn_id) 
txn_error_code integer 
+0

MySQL中沒有'serial'數據類型。你真的在使用Postgres嗎? –

回答

0

SERIAL由於爲BIGINT UNSIGNED的別名,可以使用的代碼如下所示。

CREATE TABLE IF NOT EXISTS Table2(
txn_id BIGINT UNSIGNED, 
txn_error_code integer, 
FOREIGN KEY (txn_id) REFERENCES Table1 (txn_id)) 
0

您當然可以爲串行類型列創建外鍵,但如果兩個表之間沒有鏈接,則會出現問題。請記住,只有在兩個表中有相應值的情況下才能實現外鍵。由於同一商品的系列可能在第二張或參考表中有所不同。您必須特別注意匹配兩個表格中的項目序列,否則數據將丟失。

相關問題