2016-10-03 18 views
0

MySQLサーバ5.7.11で頭痛を与えているカラムがあります。MySQL 5.7エラー:GEOMETRYフィールドに送信したデータからジオメトリオブジェクトを取得できません

これはタイプPOINTであり、それを問題なしでタイプGEOMETRYに変更することができました。

私は今、試してみて、POINTGEOMETRYからそれを変更すると、私は次のエラーを取得:

Error 1416: Cannot get geometry object from data you send to the GEOMETRY field SQL Statement: ALTER TABLEテーブル CHANGE COLUMN column_nameに column_nameにPOINT NOT NULL;

を、私はそれを1つずつ変更することができますなぜ私は私には意味がありません。道以外ではありません。

POINTデータ型に問題がありました。特にselect文を試してみると、同じエラーが発生することがあります。

答えて

2

"GEOMETRYは任意のタイプのジオメトリ値を格納できます。他の単一値タイプ(POINT、LINESTRING、およびPOLYGON)は、その値を特定のジオメトリタイプに制限します。

したがって、POINTをGEOMETRYに変換できますが、GEOMETRYには他のジオメトリ値を含めることができるため、別の方法では実行できません。

https://dev.mysql.com/doc/refman/5.7/en/spatial-datatypes.html

+0

データが有効なPOINTの場合はどうなりますか?試行錯誤のようにエラーが発生します。 –

+0

私は別の質問をすると思いますが、このエラーのいくつかのケースが特定の選択肢(変換の前と後の両方)に現れるのを見ました。 –

+0

値を変換しようとすると失敗するとは思わない - 更新前にその列のすべての値をチェックしていない - 一般的なGEOMETRY列を特定のPOINTに変換できないことを伝えるだけであるカラム。 – PaulF

関連する問題