首页 文章

如何删除Spatialite GUI中的字段或行

提问于
浏览
0

我试图找到一种从现有QGIS Spatialite数据库文件中删除列/字段的简单方法 . 我是Spatialite GUI和SQL的新手,但我希望完成上述工作 . 我右键单击一个图层(for-China)并从上下文菜单中选择“显示列” . 然后我收到一条错误消息:

SQL error: "near "-": syntax error"

SQL syntax error

所以我尝试执行声明:

PRAGMA table_info('for-China');
alter table 'for-China'
delete row 'note';

并且表格显示,但是没有删除NOTE行:

NOTE still appears (not deleted)

我尝试使用COLUMN而不是ROW,并尝试使用DROP而不是DELETE但是仍然保持不接触 . 我很困惑如何删除NOTE行 .

1 回答

  • 0

    我假设spatialite使用与SQLite相同的转义字符 . 因此,请尝试双引号:

    PRAGMA table_info("for-China");
    
    alter table "for-China" drop column note;
    

    对于作为关键字的标识符或使用字母数字,下划线(或许还有其他几种)以外的字符,您应该只需要这个 .

    SQLite还可以识别反引号和方括号,如documentation中所述 .

相关问题