Taj*_*jan 3 sqlite sqlitemanager ios
我已经在Firefox浏览器中下载了sqlite manager app并打开了sqlite manager app.
1)创建名为DBSQLTEST的数据库.
2)创建的名为SQLTEST的表包含三个字段是SLNO,NAME和AGE
3)插入新记录
但我想删除sqltest表中的' AGE '列
我使用如下的sql命令
ALTER TABLE SQLTEST DROP COLUMN AGE
SQLiteManager消息说
SQLiteManager:可能的SQL语法错误:ALTER TABLE SQLTEST DROP COLUMN AGE [near"DROP":语法错误]异常名称:NS_ERROR_FAILURE异常消息:组件返回失败代码:0x80004005(NS_ERROR_FAILURE)[mozIStorageConnection.createStatement]
什么是错误?
SQLite不支持DROP COLUMN在ALTER TABLE.您只能重命名表并添加列.
参考:http://www.sqlite.org/lang_altertable.html
如果需要删除列,请创建一个新表,在那里复制数据,删除旧表并将表重命名为其名称.
SQLite 不完全支持ALTER TABLE语句。您只能重命名表或添加列。
如果要删除一列,最好的选择是创建一个没有该列的新表,然后删除旧表以重命名新表。
例如,假设您有一个名为“t1”的表,其中列名为“a”、“b”和“c”,并且您想从该表中删除列“c”。以下步骤说明了如何做到这一点:
BEGIN TRANSACTION;
CREATE TEMPORARY TABLE t1_backup(a,b);
INSERT INTO t1_backup SELECT a,b FROM t1;
DROP TABLE t1;
CREATE TABLE t1(a,b);
INSERT INTO t1 SELECT a,b FROM t1_backup;
DROP TABLE t1_backup;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
归功于 Benoit。
| 归档时间: |
|
| 查看次数: |
3592 次 |
| 最近记录: |