-1

ingres DB の列を変更して、列のサイズを拡張しようとしています。

私が実行しているクエリは

ALTER TABLE test_table ALTER COLUMN address varchar(100) NOT NULL

エラーが発生する

エラー: ALTER TABLE: ALTER COLUMN の属性の無効な変更

SQLState: 42000 エラーコード: 3859

なぜこのエラーが発生するのか誰にも分かりますか? テーブルを変更するための構文を確認しました。

4

1 に答える 1

0

おそらくあなたはNULLデータを持っています。最初にテーブルを更新します (空の文字列または任意の値に設定します):

ライブデモ

UPDATE test_table
SET address = ''         -- or another value indicating missing addres like 'none'
WHERE address IS NULL;

そして、試してください:

ALTER TABLE test_table ALTER COLUMN address varchar(100) NOT NULL;

編集:

NOT NULL使用を強制したくない場合は、次のようにします。

LiveDemo2

ALTER TABLE test_table ALTER COLUMN address varchar(100);
于 2015-10-14T13:45:26.550 に答える