MySQL 8.0 Reference Manual Including MySQL NDB Cluster 8.0

For geometry values, MySQL distinguishes between the concepts of syntactically well-formed and geometrically valid.

A geometry is syntactically well-formed if it satisfies conditions such as those in this (nonexhaustive) list:

Linestrings have at least two points

Polygons have at least one ring

Polygon rings are closed (first and last points the same)

Polygon rings have at least 4 points (minimum polygon is a triangle with first and last points the same)

Collections are not empty (except

`GeometryCollection`

)

A geometry is geometrically valid if it is syntactically well-formed and satisfies conditions such as those in this (nonexhaustive) list:

Polygons are not self-intersecting

Polygon interior rings are inside the exterior ring

Multipolygons do not have overlapping polygons

Spatial functions fail if a geometry is not syntactically well-formed. Spatial import functions that parse WKT or WKB values raise an error for attempts to create a geometry that is not syntactically well-formed. Syntactic well-formedness is also checked for attempts to store geometries into tables.

It is permitted to insert, select, and update geometrically
invalid geometries, but they must be syntactically well-formed.
Due to the computational expense, MySQL does not check
explicitly for geometric validity. Spatial computations may
detect some cases of invalid geometries and raise an error, but
they may also return an undefined result without detecting the
invalidity. Applications that require geometically valid
geometries should check them using the
`ST_IsValid()`

function.