```
$first = 'SELECT * FROM areas WHERE parent_id = ?';
foreach($first) {
$second = 'SELECT * FROM areas WHERE parent_id = $first.id';
foreach($second) {
$third = 'SELECT * FROM areas WHERE parent_id = $second.id';
}
}
```
MPTT 找整棵樹
```
$root = 'SELECT * FROM areas WHERE id = ? LIMIT 1';
$tree = 'SELECT * FROM areas WHERE lft >= $root.lft AND rght <= $root.rght';
```
MPTT 做麵包屑
```
SELECT * FROM areas WHERE lft <= $leaf.lft AND rght >= $leaf.rght
ORDER BY lft ASC
```
**** 只要一個查詢! ****
MPTT 問題
每次增刪單筆資料就需要所有的 lft & rght
不適合異動頻繁的資料
選區 v.s. 行政區
ex. 臺南市議員第1選舉區 => 東山區、白河區、後壁區
UUID as PK
姓名很容易重複!而且有改名的可能。
中選會資料沒有可信賴的索引值
經本會評估尚不適採行
陳志明
[鄉鎮市民代表]宜蘭縣蘇澳鎮第4選舉區
[村里長]臺北市松山區東昌里
[村里長]臺北市士林區社新里
[村里長]屏東縣屏東市大湖里
[村里長]宜蘭縣羅東鎮國華里
utf8 utf8mb4
ex. 石𥕢里, 𦰡拔里, 新竹市北區中興里 洪熒𤎌
RFC 3629
In UTF-8, characters from the U+0000..U+10FFFF range are encoded using sequences of 1 to 4 octets.