我试图找到一种从现有QGIS Spatialite数据库文件中删除列/字段的简单方法 . 我是Spatialite GUI和SQL的新手,但我希望完成上述工作 . 我右键单击一个图层(for-China)并从上下文菜单中选择“显示列” . 然后我收到一条错误消息:
SQL error: "near "-": syntax error"
所以我尝试执行声明:
PRAGMA table_info('for-China');
alter table 'for-China'
delete row 'note';
并且表格显示,但是没有删除NOTE行:
我尝试使用COLUMN而不是ROW,并尝试使用DROP而不是DELETE但是仍然保持不接触 . 我很困惑如何删除NOTE行 .
1 回答
我假设spatialite使用与SQLite相同的转义字符 . 因此,请尝试双引号:
对于作为关键字的标识符或使用字母数字,下划线(或许还有其他几种)以外的字符,您应该只需要这个 .
SQLite还可以识别反引号和方括号,如documentation中所述 .