讓我們假設我有一個下表:如何在mysql中允許外鍵約束0?
UID int (11) not null, FOREIGN KEY (UID) REFERENCES users(ID),
OID int (11), FOREIGN KEY (OID) REFERENCES orders(ID),
primary key(UID,OID)
注意主鍵。
而且,我想允許每個用戶ID(UID)都有一個NULL
的ID(OID)。
雖然設置主鍵後自動使我的OID字段NOT NULL
。
作爲解決方案,我正在考慮將0
而不是將其標記爲無關字段。
所以,現在的問題是,是否有可能允許外鍵約束接受除指定字段的references
之外的零(0)?
這個想法是存儲帳單信息。每個用戶都有一個默認的帳單信息,並且每個訂單也單獨存儲。如果你建議以其他方式存儲它,我會很樂意跟進... – Anonymous
那麼,是什麼讓你認爲'uid'添加到'orders'表是不恰當的? )由於每個訂單(我假設)只有一個用戶分配給它。然後,查詢所有用戶和他們的訂單(包括沒有任何訂單的用戶通過'LEFT JOIN')就很容易了。 – raina77ow
這是有道理的。我也可以在每個訂單中存儲結算信息。但是我想知道我會在哪裏存儲默認計費呢? – Anonymous