我一直在将一个网站从Mysql 5.6
升级到 5.7
。当恢复一个备份文件时,该备份文件已经在Mysql 5.1-5.6下工作了10年(未更改),但在 MySQL 5.7
下无法正常使用。
具体来说,几何数据的第一行恢复失败:
ERROR 1416 (22003) at line 1580 Cannot get geometry object from data you send to the GEOMETRY field
所以,这是有效的几何图形,但不再是。
尝试的解决方案:
- 将mysqldump切换到
--hex-blob
- 在导入之前尝试使用
astext( <some geometry> )
- 手动从备份加载各种几何行,均失败
ST_IsEmpty
,如果几何值无效或为空,则它将返回“1”,如果为null,则返回null,如果有效则返回“0”。 - Anthony