3

Firefox ブラウザーで sqlite マネージャー アプリをダウンロードし、sqlite マネージャー アプリを開きます。

1) DBSQLTESTという名前のデータベースを作成しました。

2) SQLTESTという名前の作成されたテーブルには、 SLNONAME、およびAGEの3 つのフィールドが含まれています。

3) 新しいレコードの挿入

しかし、sqltest テーブルの '<strong>AGE' 列を削除したい

私は以下のようなSQLコマンドを使用しています

ALTER TABLE SQLTEST DROP COLUMN AGE

SQLiteManagerメッセージは言う

SQLiteManager: 可能性の高い SQL 構文エラー: ALTER TABLE SQLTEST DROP COLUMN AGE ["DROP" 付近: 構文エラー] 例外名: NS_ERROR_FAILURE 例外メッセージ: コンポーネントがエラー コードを返しました: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]

エラーとは何ですか?

4

3 に答える 3

7

DROP COLUMNでは sqlite はサポートしていませんALTER TABLE。テーブルの名前変更と列の追加のみが可能です。

参照: http://www.sqlite.org/lang_altertable.html

列を削除する必要がある場合は、新しいテーブルを作成し、そこにデータをコピーし、古いテーブルを削除して、テーブルの名前を意図した名前に変更します。

于 2014-01-09T11:44:17.573 に答える
2

テーブルを作成する

CREATE TABLE SQLTEST ("SLNO" INTEGER PRIMARY KEY ,"NAME" TEXT,AGE INTEGER)

列を削除したい場合

ALTER TABLE SQLTEST RENAME を SQLTESTCOPY に変更

CREATE TABLE SQLTEST ("SLNO" INTEGER PRIMARY KEY ,"NAME" TEXT)

INSERT INTO SQLTEST"SELECT "SLNO","NAME" FROM SQLTESTCOPY

DROP TABLE SQLTESTCOPY

簡単。

于 2014-01-09T11:53:24.403 に答える