2011-12-06 80 views
2

我有2個表:pagesmenu外鍵或空值

我想有一個指針進入菜單表作爲外鍵pages.id。 問題是某些菜單行沒有指向頁面的鏈接。 當有人點擊鏈接打開一個子菜單。 我在phpmyadmin中如何做到這一點?

我要的是本場比賽1比1或1比0

感謝

也許,如果我有一個行的網頁有ID = SOME_ID與pages.body = NULL 和所有的菜單,我想沒有子菜單會有menu.pages_id = some_id 這是做我想要的正確方法嗎?

回答

2

menu.pages_id使用某些魔術值不起作用,因爲該值無論是否必須存在於pages表中的某一行中。

正確的做法是讓menu.pages_id接受NULL。即使它是UNIQUE約束和FOREIGN KEY約束的一部分,列也是可以爲空的是合法的。

CREATE TABLE menu (
    ... 
    pages_id INT NULL, 
    UNIQUE KEY (pages_id), 
    FOREIGN KEY (pages_id) REFERENCES pages(pages_id) 
) ENGINE=InnoDB;