0

可能重复:
如何重命名 SQLite 数据库表中的列?

我想重命名 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

又出错了……我该如何解决我的问题?

4

1 回答 1

2

您不能直接重命名 SQLite 表中的列。您需要重新创建表。整体流程是这样的

1.- 使用新列创建一个新表

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

3.-重新创建所有索引

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

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

于 2012-10-02T06:46:31.470 回答