ネットサービスとかGoogleとか豆知識とか。

Index > MySQL > MySQLのGeomFromTextなどで使うPOINTにはコンマ不要
MySQL
2010年04月29日 14:26

MySQLのGeomFromTextなどで使うPOINTにはコンマ不要

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

MySQLで geometry 型のカラムに位置情報を格納する際にハマってしまったのでメモ。

MySQLに緯度経度を格納するやり方としては「Google MapsとMySQLの連携 : アシアルブログ」の説明が詳しいのですが、geometry型を使うと例えば以下のようなSQLでカラムを更新することになります。

UPDATE landmarks SET latlng=GeomFromText('POINT(139.751892 35.705637)') WHERE id=100

で、このときハマってしまったのが POINTの引数にはコンマが不要 だということ。

x座標、y座標を引数にとっているので何も考えずカンマを入れてしまっていたのですが、SQLを実行しても何もエラーが出ない上に値が更新されない。よく見ると正しくはスペース区切りだったというオチ。

MySQL :: MySQL 4.1 リファレンスマニュアル :: 10.2.3 クラス Point」を見てみると、

Point は、0 次元のジオメトリとして定義される。

と書かれてあって、つまり0次元として定義されてるからコンマ不要ということなのでしょうか。

初めてgeometryを使うときは気をつけましょう。