加载数据文件和空间数据

时间:2018-08-03 13:36:24

标签: mysql spatial

在MySQL 5.7上,我曾经用LOAD DATA INFILESET子句(即

)填充表的“ point”列
LOAD DATA INFILE 'myfile.txt'
REPLACE INTO TABLE mytable
(@x, @y)
SET geom = Point(@x, @y);

这很好。 我已升级到MySQL 8.0.12,现在出现错误ERROR 1364 (HY000): Field 'geom' doesn't have a default value

LOAD DATA INFILE处理SET子句的方式是否发生了变化? 谢谢!

1 个答案:

答案 0 :(得分:0)

此错误已在8.0.12中为confirmed。 我发现的唯一解决方法是:

  1. 拖放geom列
  2. 将数据加载到(x,y)列
  3. 重新创建没有非空约束的geom列
  4. 更新geom列
  5. 更改该列以添加非null约束