modify column syntax
を使用して列の名前を変更することはできませんが、change column syntax
を使用することはできます。
私の質問は:modify syntax
の主な使用法は何ですか?
例えば、
alter table tablename change col1 col1 int(10) not null
の代わりに
alter table tablename modify col1 int(10) not null
編集済み
置き換えられた質問
modify syntax
の主な用途は何ですか?
上記の質問は以下に置き換えられました
列を変更するのではなく、列を変更する必要があるのはなぜですか?
列の変更すでにMySQLデータベースを作成しており、列の1つに間違った名前が付けられているという事実に基づいて決定した場合、削除して置換する必要はありません。単にchange columnを使用して名前を変更できます。。
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;
MODUMY COLUMNこのコマンドは、列の名前を変更せずに、CHANGE COLUMNが実行できるすべての処理を実行します。MySQLで列のサイズを変更する必要がある場合は、modify SQLコマンドを使用できます。これを行うことにより、以前よりも多いまたは少ない文字を許可できます。変更やその他を使用して列の名前を変更することはできません
ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;
注:ALTER TABLEは、列名、サイズの変更、列の削除を意味するテーブルの変更に使用されます。CHANGECOLUMNおよびMODIFY COLUMNコマンドは、ALTER TABLEコマンドの助けなしでは使用できません。
非auto_incrementカラムをauto_incrementステートメントにしようとして1時間以上の努力を重ねた結果、1つの違いが見つかりました:alter table doctor_experience
列の変更id
int(11)unsigned auto_incrementは機能しますが、statment:alter table doctor_experience
列の変更id
id
int(11)unsigned auto_incrementはエラーを報告します。
それは同じです。別の構文(私が知っているOracle ALTER TABLE)をサポートするために行われました。両方を使用できます。
注意: ALTER TABLE CHANGE old_col_name new_col_name
構文では、1つのコマンドを使用して列の名前を変更できます。