23

いくつかの null 値を含む列を持つテーブルがあります。NOT NULL既存の null を null 以外の値に更新せずに、その列に制約を追加したいと考えています。既存の null 値を保持し、この列に null 以外の値が含まれていることを将来の行で確認したいと考えています。これは可能ですか?どのように?

4

3 に答える 3

54

検証されていない制約を追加できます。既存の行は調べられませんが、新しい行または更新された行がチェックされます。

ALTER TABLE mytable MODIFY mycolumn NOT NULL NOVALIDATE;

制約を満たさない限り、既存の行を更新できないことに注意してください。

また、オプティマイザーが計画を作成する際にこの制約を利用できないという欠点にも注意してください。一部の行にはまだ NULL が含まれている可能性があると想定する必要があります。

于 2013-08-23T05:20:33.777 に答える
-1

ハマド:私は問題に直面し、次のように解決します:

テーブル thr_empl_info を変更する THR_EM_DESIGNATION_ID を null 以外に変更する

于 2018-02-13T11:36:23.717 に答える