- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:alter table で text が midiumtext になってしまう)
alter table で text が midiumtext になってしまう
このQ&Aのポイント
- テーブルの一部のカラムを変更したい場合、ALTER TABLE文を使用しますが、text型のカラムをvarchar型に変更する際、他のカラムも中間テキスト型に変わってしまう問題が発生します。
- 一つずつカラムの型を変更しても、前のカラムが中間テキスト型に戻ってしまうため、どのようにすれば元のtext型に戻すことができるでしょうか。
- カラムの型を変更する際には、一度テーブルを作り直すか、一時的にバックアップを作成してから変更することが望ましいです。具体的な手順をご説明します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
UNIQUEは引き継がれるはずなので、changeをつかって 以下のようにしてみてはいかがでしょうか? ALTER TABLE `test` CHANGE `col1` `col1` VARCHAR(10) NOT NULL ,CHANGE `col2` `col2` TEXT NOT NULL ,CHANGE `col3` `col3` TEXT NOT NULL ,CHANGE `col4` `col4` TEXT NOT NULL ただしMySQLのバージョンにもよるでしょうけど、 暗黙のフィールド定義変更がはたらいて手動による 型変更は意味がないかもしれません
お礼
ありがとうございます、できました!