我尝试使用以下内容删除列
openDB.execSQL("ALTER TABLE favs" + " DROP COLUMN favsCount");
Run Code Online (Sandbox Code Playgroud)
LogCat给出以下消息:
11-07 21:18:29.238:错误/数据库(13952):当准备'ALTER TABLE favs DROP COLUMN favsCount'时,0x34e550上的失败1(接近"DROP":语法错误).
是不是可以在Android的sqlite中删除字段?
mu *_*ort 44
抱歉,SQLite 不支持DROP COLUMN:
(11)如何在SQLite中添加或删除现有表中的列.
SQLite限制了ALTER TABLE支持,您可以使用该支持将列添加到表的末尾或更改表的名称.[...]
例如,假设您有一个名为"t1"的表,其中列名为"a","b"和"c",并且您要从此表中删除列"c".以下步骤说明了如何完成此操作:
Run Code Online (Sandbox Code Playgroud)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;
所以基本上,你必须使用"复制,删除表,创建新表,复制回"技术来删除列.
| 归档时间: |
|
| 查看次数: |
19138 次 |
| 最近记录: |