回答:
ALTER TABLE... MODIFY...
クエリを使用NOT NULL
して、既存の列定義に追加するだけです。例えば:
ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;
注意:クエリを使用するときは、完全な列定義を再度指定する必要がありMODIFY
ます。たとえば、列にDEFAULT
値や列コメントがある場合MODIFY
は、データ型ととともにステートメントで指定する必要があります。指定しない場合、データNOT NULL
は失われます。このような事故を防ぐための最も安全な方法は、SHOW CREATE TABLE YourTable
クエリの出力から列定義をコピーし、NOT NULL
制約を含めるように変更して、クエリに貼り付けることALTER TABLE... MODIFY...
です。
change
列の名前を変更する
MODIFY
もOracleでサポートされています。そして、PostgreSQLはステートメントをCHANGE
提供する代わりにサポートしませんALTER [COLUMN]
。
これを試してください、あなたは変更と修正の違いを知っています、
ALTER TABLE table_name CHANGE curr_column_name new_column_name new_column_datatype [constraints]
ALTER TABLE table_name MODIFY column_name new_column_datatype [constraints]
CHANGE
。MODIFY
。このステートメントを使用して列の名前を変更することはできません。うまくいきました。
INT(11)
だけでなく、なぜあなたは書いたのINT
ですか?の効果は何11
ですか?