-3
たとえば、Table1という名前のテーブルがあります。SQLite3でカラムをNULLからNOT NULLに変更するには?
CREATE TABLE Table1 (
aa INT PRIMARY KEY,
bb INT
);
bbをnullに変更したいと考えていますが、sqliteはALTER MODIFYをサポートしていません。 だから、私は次のとおりです。
CREATE TABLE sqlitestudio_temp_table AS SELECT *
FROM Table1;
DROP TABLE Table1;
CREATE TABLE Table1 (
aa INT PRIMARY KEY,
bb INT NOT NULL
);
INSERT INTO Table1 (
aa,
bb
)
SELECT aa,
bb
FROM sqlitestudio_temp_table;
DROP TABLE sqlitestudio_temp_table;
とエラーが発生します。
Could not commit table structure. Error message: NOT NULL constraint failed: Table1.bb
あなたは、null値を含む列にパラメータ「NULLでない」を追加した場合エラーが発生します。ヌルをゼロで置き換えるには 'SELECT aa、ISNULL(bb、0)FROM sqlitestudio_temp_table'が必要です。あるいは、NULL bbを無視するために' SELECT aa、bb FROM sqlitestudio_temp_table WHERE bb is not NULL 'で無視することができます。 – kpie
Thx、それは私のために働く。 – user3427343