代码之家  ›  专栏  ›  技术社区  ›  Mihado

为什么POINT()存储为??*??E@z?3米??Q在mysql表中

  •  1
  • Mihado  · 技术社区  · 9 年前

    我不明白为什么 POINT MySQL GIS中的数据类型被插入为 ??*??E@z?3M??Q? .

    我的代码如下。任何帮助都将不胜感激,我已经花了相当长的时间来修补和阅读文档。提前谢谢!

    我的查询:

    insert into locations values(null, POINT(43.005895, -71.013202), 'Car wash');
    

    我的桌子:

    CREATE TABLE locations (
      location_id int(10) unsigned NOT NULL AUTO_INCREMENT,
        coordinates point NOT NULL,
        name varchar(20) NOT NULL,
      PRIMARY KEY (location_id)
         ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
    
    1 回复  |  直到 9 年前
        1
  •  0
  •   Barmar    9 年前

    您可以使用 ST_AsText() 将GIS数据从内部格式转换为WKT字符串:

    SELECT location_id, ST_AsText(coordinates) as coordinates, name
    FROM locations