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