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 に答える