【问题标题】:How can I add SRID 4326 (Spatial Types) to Workbench when adding columns?添加列时如何将 SRID 4326(空间类型)添加到 Workbench?
【发布时间】:2021-02-07 14:57:29
【问题描述】:

当我在 EER 图中添加类型为 POINT 的列时,我可以用该图做什么,所以当我自动生成脚本时,SRID 4326 会附加到 CREATE TABLE 脚本?如果我不设置该数字,则默认为零(平坦),但我确实需要 4326(球体)。

如果不可能,这是否意味着我无法自动将模型与服务器同步,而我必须一直手动添加这些更改?

【问题讨论】:

    标签: mysql-workbench workbench


    【解决方案1】:

    我也想不通。我相信 MySQL Workbench 目前不支持向列添加 SRID。

    为了检查它确实不受支持,我做了以下操作:

    1. 将 SRID 添加到现有数据库的列中
    2. 逆向设计了此数据库的脚本(使用 Workbench)
    3. 检查脚本是否包含为列设置的 SRID
    4. 很失望它没有...

    不过,“好”消息是,由于不受支持,MySQL Workbench 不会在同步源时发现列上缺少的 SRID。

    这意味着一旦你自己在列上设置了SRID,以后在同步的时候就不会出现任何问题了。

    请注意,为了在列上设置 SRID,该列上不能有(空间)索引。因此,您必须删除索引,设置 SRID,然后重新添加索引。

    下面是一个简短的脚本,我曾经这样做过。不要忘记将其更新为您的用例:

    DROP INDEX `my_idx` ON my_table;
    ALTER TABLE my_table MODIFY COLUMN my_column POINT NOT NULL SRID 4326;
    ALTER TABLE my_table ADD SPATIAL INDEX `my_idx` (`my_column`) VISIBLE;
    

    【讨论】:

      猜你喜欢
      • 2023-02-22
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多