• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQL5.1で varchar(100)のものを varchar()

MySQL varchar(100)をvarchar(90)に変更する方法

このQ&Aのポイント
  • MySQL5.1でvarchar(100)のカラムをvarchar(90)に変更する方法を教えてください。
  • 通常の手順ではalter tableを使用して変更しますが、他の項目も変更する場合はmysqldumpでSQLを吐き出し、CREATE文のvarchar(100)をvarchar(90)に変更してリストアする方法があります。
  • この方法は他のデータベース(PostgreSQL, SQLServer, Oracle)でも使える手法ですか?どなたか具体的な手順を教えてください。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>varchar(100)のものを varchar(90)にする予定 一発でやるなら以下のような処理でしょうね ALTER TABLE `テーブル` CHANGE `フィールドA` `フィールドA` VARCHAR( 90 ) NOT NULL ただ、既存のものを処理するなら移行トラブルを避けるために、 (1)新たなフィールドをつくる (2)update構文で古いフィールドの値を新しいフィールドにsetする (3)データが間違いないか確認する (4)古いフィールドを削除する という流れにした方がよいとおもいます。 >後ろの10バイトは無条件になくなっても構いません バイトじゃなくて文字数だと思いますが・・・