MySQL 9.0 版本說明
對於幾何值,MySQL 區分語法上的良好形式和幾何上的有效性這兩個概念。
如果幾何圖形滿足以下(非詳盡)清單中的條件,則其在語法上是良好形式的
線字串至少有兩個點
多邊形至少有一個環
多邊形環是封閉的(第一個點和最後一個點相同)
多邊形環至少有 4 個點(最小的多邊形是一個三角形,其中第一個點和最後一個點相同)
集合不是空的(除了
GeometryCollection
)
如果幾何圖形在語法上是良好形式的,並且滿足以下(非詳盡)清單中的條件,則其在幾何上是有效的
多邊形不是自我相交的
多邊形內部環在外部環內
多邊形沒有重疊的多邊形
如果幾何圖形在語法上不是良好形式的,則空間函式會失敗。解析 WKT 或 WKB 值的空間匯入函式會針對嘗試建立語法上不是良好形式的幾何圖形而引發錯誤。在嘗試將幾何圖形儲存到表格中時,也會檢查語法上的良好形式。
允許插入、選擇和更新幾何上無效的幾何圖形,但它們在語法上必須是良好形式的。由於計算成本,MySQL 不會明確檢查幾何有效性。空間計算可能會偵測到一些無效幾何圖形的情況並引發錯誤,但它們也可能會返回未定義的結果而沒有偵測到無效性。需要幾何上有效的幾何圖形的應用程式應使用 ST_IsValid()
函式檢查它們。