• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:alter table で text が midiumtext になってしまう)

alter table で text が midiumtext になってしまう

このQ&Aのポイント
  • テーブルの一部のカラムを変更したい場合、ALTER TABLE文を使用しますが、text型のカラムをvarchar型に変更する際、他のカラムも中間テキスト型に変わってしまう問題が発生します。
  • 一つずつカラムの型を変更しても、前のカラムが中間テキスト型に戻ってしまうため、どのようにすれば元のtext型に戻すことができるでしょうか。
  • カラムの型を変更する際には、一度テーブルを作り直すか、一時的にバックアップを作成してから変更することが望ましいです。具体的な手順をご説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.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のバージョンにもよるでしょうけど、 暗黙のフィールド定義変更がはたらいて手動による 型変更は意味がないかもしれません

参考URL:
http://www.mysql.gr.jp/Manual/mysql-4.00.12/manual.ja_Reference.html#Silent_column_changes
Claudia
質問者

お礼

ありがとうございます、できました!

関連するQ&A