MySQL中的左右值是在樹形結構中,用于表示每個節點的層級關系。左右值是一個整數值,通常情況下左值表示節點從左到右的順序編號,右值表示節點在遞歸遍歷左子樹后和右子樹前的編號。
下面是一段使用左右值來表示樹形結構的MySQL表:
CREATE TABLE category ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, lft INT NOT NULL, rgt INT NOT NULL );
上面的表用來存儲商品分類的樹形結構。下面是一棵這樣的樹形結構:
+-----------------+ | 單位 | +-----------------+ | / \ | | 水產 果蔬 | | / \ | | 蝦類 魚類 | +-----------------+
這個樹形結構可以轉化為下面的左右值:
+-------+-------+---------+ | id | name | lft | rgt | +-------+-------+---------+--------+ | 1 | 單位 | 1 | 10 | | 2 | 水產 | 2 | 7 | | 3 | 蝦類 | 3 | 4 | | 4 | 魚類 | 5 | 6 | | 5 | 果蔬 | 8 | 9 | +-------+-------+---------+--------+
由此可以看出,左右值能夠方便、快速地表示樹形結構,例如可以簡化樹形結構的查詢。在MySQL中,使用左右值的方式來存儲樹形結構是非常常見的做法。