stackexchange で同様の質問を見たことがありますが、その回答では正しい結果が得られませんでした。
デモンストレーションの目的で、PURCHASES
列PURCHASE_NUM
、PURCHASE_DATE
を持つ単純なテーブルがあり、テーブルCUSTOMER_ID.
に非 null 制約を適用したいと考えていCUSTOMER_ID
ます。私は次のことを試しました:
ALTER TABLE PURCHASES MODIFY CUSTOMER_ID char NOT NULL;
その構文は問題ありませんが、次のように挿入するINSERT INTO PURCHASES VALUES (333, NULL, NULL);
と、タプルは問題なく追加されます。制約が適用されないのはなぜですか? 制約を追加する前に、その列に NULL 値が既にあると影響がありますか?
ありがとう
edit DESCRIBE PURCHASES;
は、関心のある列について次のように述べています。
Field, Type, Null, Key, Default, Extra
CUSTOMER_ID, char(5), YES, , NULL,