0

stackexchange で同様の質問を見たことがありますが、その回答では正しい結果が得られませんでした。

デモンストレーションの目的で、PURCHASESPURCHASE_NUMPURCHASE_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, 
4

3 に答える 3

0

多分あなたはに変更する必要があります

ALTER TABLE PURCHASES MODIFY  CUSTOMER_ID char NOT NULL;
于 2012-09-08T16:53:42.573 に答える
0

コマンドが機能しませALTERんでした。Null列にはまだYES. コマンド構文ALTERは問題ないように見えますが、うまくいくはずです。入力内容を確認して、もう一度お試しください。

あなたの顧客IDは本当にただの文字ですか?

于 2012-09-08T17:11:30.347 に答える