MySQL 8.4 Release Notes
13.4.4 几何的格式良好性和有效性
对于几何值,MySQL 区分语法良好的概念和几何有效的概念。
几何是语法良好的,如果它满足以下(非 exhaustive)列表中的条件:
-
线estring 至少有两个点
-
多边形至少有一个环
-
多边形环是闭合的(第一个和最后一个点相同)
-
多边形环至少有四个点(最小多边形是一个三角形,第一个和最后一个点相同)
-
集合不是空的(except
GeometryCollection
)
几何是几何有效的,如果它语法良好,并满足以下(非 exhaustive)列表中的条件:
-
多边形不自交
-
多边形内部环在外部环内
-
复合多边形不具有重叠的多边形
空间函数如果几何不是语法良好,将失败。空间导入函数将尝试创建一个不是语法良好的几何时raise错误。语法良好性也会在尝试将几何存储到表中时进行检查。
允许插入、选择和更新无效的几何,但它们必须是语法良好。由于计算开销,MySQL 不会明确地检查几何有效性。空间计算可能会检测一些无效几何的情况并raise错误,但也可能返回一个未定义的结果而没有检测到无效性。需要几何有效的应用程序应该使用ST_IsValid()
函数来检查它们。