我有一種情況,我需要爲mysql中的串行類型列創建一個外鍵。如何在sql中創建串行數據類型列的外鍵
而且我也想知道,是否這是一個很好的做法/標準定義的串行類型的列外鍵(這是一個主鍵)
表1:
txn_id SERIAL,
txn_status integer
表2:
txn_id integer foreign key (for table1.txn_id)
txn_error_code integer
我有一種情況,我需要爲mysql中的串行類型列創建一個外鍵。如何在sql中創建串行數據類型列的外鍵
而且我也想知道,是否這是一個很好的做法/標準定義的串行類型的列外鍵(這是一個主鍵)
表1:
txn_id SERIAL,
txn_status integer
表2:
txn_id integer foreign key (for table1.txn_id)
txn_error_code integer
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))
您當然可以爲串行類型列創建外鍵,但如果兩個表之間沒有鏈接,則會出現問題。請記住,只有在兩個表中有相應值的情況下才能實現外鍵。由於同一商品的系列可能在第二張或參考表中有所不同。您必須特別注意匹配兩個表格中的項目序列,否則數據將丟失。
MySQL中沒有'serial'數據類型。你真的在使用Postgres嗎? –