回答:
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ですか?