0
我有了一個結構的 「類別」 表:MySQL的外鍵遞歸
- 的categoryId
- parentId的
- 類別名稱
在該表中分類樹結構,其中parentId的實際上是一個指向categoryId的指針。
是否可以將一個外鍵RESTRICT指向parentId指向categoryId,以便禁用子節點的刪除?
我有了一個結構的 「類別」 表:MySQL的外鍵遞歸
在該表中分類樹結構,其中parentId的實際上是一個指向categoryId的指針。
是否可以將一個外鍵RESTRICT指向parentId指向categoryId,以便禁用子節點的刪除?
是的,當然一張表可能有一個引用自身的外鍵。例如:
CREATE TABLE categories (
categoryId INTEGER NOT NULL PRIMARY KEY,
parentId INTEGER REFERENCES categories(categoryId),
categoryName VARCHAR(32) NOT NULL
);
當然,您需要使用InnoDB而不是MyISAM來做這件事。
謝謝,但現在我有另一個問題,如何輸入第一個記錄應該是:categoryId = 1,parentId = 0,categoryName ='test',當沒有0值的categoryId。 – dfilkovi
對於沒有parentId,使用'NULL'而不是'0'。 – bobince
是NULL,但查詢不同於此。我在php中使用遞歸函數「WHERE parentId = $ var」,如果爲空,我需要使用「WHERE parentId IS NULL」,這使事情變得複雜。 – dfilkovi