sqlite 何时可以在现有数据库或表上初始化spatialite?

eit6fx6z  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(195)

我正在尝试使用spatialite向现有的sqlite3表中添加一个几何图形列。我是否可以在现有数据库上调用“SELECT initspatialMETADATA()”,然后在现有表上调用AddGeometryColumn?或者我需要把table掉到地上?或者,我是否需要完全启动一个新数据库并立即调用initspatialMETADATA(或者使用spatialite cli创建数据库)?

7kjnsjlb

7kjnsjlb1#

您希望在spatialite数据库的现有表上添加新的几何列。
有几点我想向你们强调

sqlite> select InitSpatialMetaData();

1.必须在创建新数据库后立即调用InitSpatialMetaData()函数,然后再尝试调用任何其他空间SQL函数。
1.此函数的作用域正好用于创建(和填充)SpatiaLite内部需要的任何元数据表。
1.如果已经存在元数据表,则此函数不执行任何操作。因此,多次调用InitSpatialMetaData()是无用的,但完全无害。
最后,我以前从未尝试过。但我认为,您可以使用AddGeometryColumn在现有表中添加新列。为什么不试着这样做呢?

相关问题