无法使用我的查询重命名字段数据库

时间:2012-10-02 06:41:38

标签: android sqlite

  

可能重复:
  How do I rename a column in a SQLite database table?

我想在SQlite中重命名字段表,但我不能在我的应用程序中重命名它。这是我要重命名的查询:

ALTER TABLE 'table_name' RENAME 'column1' TO 'new_column1'

但我的查询收到此错误:

SQLiteManager: Likely SQL syntax error: ALTER table 'table_name' 
RENAME 'column1' TO 'new_column1' [ near "'column1'": syntax error ]

Exception Name: NS_ERROR_FAILURE
Exception Message: Component returned failure code: 0x80004005 
(NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]

并且无法重命名字段... 我改变了我的疑问:

ALTER TABLE 'table_name' RENAME COLUMN 'column1' TO 'new_column1'
ALTER TABLE 'table_name' CHANGE 'column1' 'new_column1' TEXT

再次出错...... 我该如何解决我的问题?

1 个答案:

答案 0 :(得分:2)

您无法直接重命名SQLite表中的列。您需要重新创建表。整个过程就是这个

1.-使用新列

创建一个新表

2.-将所有旧表内容复制到新表

3.-重新创建所有索引

4.-将旧表重命名为另一个名称

5.-将新表重命名为原始名称