MySQL中的parent指的是在一張表中,有指向該表自身的外鍵(foreign key)。這樣的關系稱為父子關系。常用的場景有組織機構、分類、評論回復等。
CREATE TABLE category ( id INT, parent_id INT, name VARCHAR(100), PRIMARY KEY (id), FOREIGN KEY (parent_id) REFERENCES category(id) );
在這里,category表創建了一個自引用的外鍵關系:每個分類可能有一個父分類(parent_id),即該分類還屬于哪一個更大的分類。
在使用該表時,我們可以通過join操作查詢出某個分類的父分類和子分類。而在插入、更新、刪除時,也要注意維護好父子關系。
-- 查詢一個分類的子分類 SELECT c2.name FROM category AS c1 JOIN category AS c2 ON c1.id = c2.parent_id WHERE c1.name = 'parent category';
在這里,我們通過自連接(self-join)的方式將同一表彼此關聯,從而查詢出一個分類(name = 'parent category')的所有子分類(即parent_id為該分類id的記錄)。
總之,在涉及到parent的MySQL操作中,需要注意好維護好父子關系,以及使用自連接進行查詢。