MySQL Error number: 3643; Symbol: ER_WRONG_SRID_FOR_COLUMN; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: 3643; Symbol: ER_WRONG_SRID_FOR_COLUMN; SQLSTATE: HY000

Message: The SRID of the geometry does not match the SRID of the column ‘%s’. The SRID of the geometry is %lu, but the SRID of the column is %lu. Consider changing the SRID of the geometry or the SRID property of the column.

Error number: 3643; Symbol: ER_WRONG_SRID_FOR_COLUMN; SQLSTATE: HY000

错误说明:

ER_WRONG_SRID_FOR_COLUMN错误主要用于自建地理空间字段时出现,指出SPATIAL字段定义时指定的SRID(投影参考标识)和数据库中现有的投影不匹配。该错误在MySQL 5.6版本中开始支持且用于检查,以前的MySQL版本未支持该功能。

常见案例

常见的ER_WRONG_SRID_FOR_COLUMN出错案例是在MySQL数据库中创建一个存储地理空间数据的表时所触发的,其中的数据的格式为WKT (Well-Known Text) 或 EWKB (Extended Well-Known Binary) 等地理信息格式,在添加该字段到数据库中时,MySQL服务器会验证字段的SRID(投影参考标识)是否匹配,如果不匹配就会触发该错误。

解决方法:

对于这个错误,应该根据实际情况选择正确的SRID(投影参考标识),或者直接更新表中SPATIAL信息字段索引,设置为正确的SRID,以解决此错误。

下面是一个用于更新表中SPATIAL信息字段索引的实例:

ALTER TABLE

MODIFY COLUMN POINT NOT NULL SRID=;

其中

和分别替换为表名称和字段名称,替换为正确的SRID值。

另外,在创建或添加地理空间信息字段时,可以使用GIS_SRID_SESSION函数来改变当前会话的默认SRID,使之和地理空间信息字段的SRID匹配,以避免出现ER_WRONG_SRID_FOR_COLUMN的错误。


数据运维技术 » MySQL Error number: 3643; Symbol: ER_WRONG_SRID_FOR_COLUMN; SQLSTATE: HY000 报错 故障修复 远程处理