我不是很喜歡數據庫,我有以下問題。我正在使用MySQL。如何在非PK領域處理這種與這種約束的關係?
我有2個表如下:
1)傳輸表:
CREATE TABLE transfers (
id BigInt NOT NULL AUTO_INCREMENT,
processed Char(1) NOT NULL,
providerpid VarChar(16) NOT NULL,
recipientpid VarChar(16) NOT NULL,
symbol VarChar(128) NOT NULL,
`type` VarChar(4) NOT NULL,
PRIMARY KEY (
id
)
) ;
ALTER TABLE transfers COMMENT = '';
2)附件1表:
CREATE TABLE annex1 (
id BigInt NOT NULL AUTO_INCREMENT,
symbol VarChar(128) NOT NULL,
doi VarChar(256),
PRIMARY KEY (
id
)
) ;
ALTER TABLE annex1 COMMENT = '';
我收到了以下要求,即似乎對我來說很奇怪(但也許我錯過了一些東西):
的annex1.symbol值必須是一個值必須是一個外國 鍵引用transfers.symbol。
所以,從我的理解是應該是因爲我不得不使用與這2個表的連接來獲取所有附件1記錄相關的轉讓記錄(這是一個一對多關係)。
但我不能annex1.symbol因爲transfers.symbol不是PK創建此作爲FK約束。
我錯過了什麼嗎?我能否以某種方式指定annex1.symbol必須包含可能的值transfers.symbol?
在什麼表?在轉賬表中? – AndreaNobili
@AndreaNobili,請參閱編輯回答如果有幫助 – Rahul
如果將它定義爲UNIQUE KEY CONSTRAINT會發生什麼?這意味着我可以有與附件1表格的單個記錄相關的轉移表的單個記錄?或者是什麼? – AndreaNobili