2016-06-23 11 views
1

私は、mysqlテーブルの "Varchar"カラムの1つをテキストフィールドに変換しています。私は単にタイプを変換するために単一の変更コマンドを使用しています。私はテキストについて読んで、varcharはそれが記憶メカニズムに違いがあることを知りました。MysqlのVarcharへの移行

列のタイプと移動データを変更するための移行スクリプトを作成する必要がありますか、または1つのタイプの変更コマンドで十分ですか?

+0

変更が残っていれば、あなたはいいですか – Drew

+0

私はProductionセットアップでそれをやろうとしていますか? – ted

+1

それは非常に広い質問またはコメントです。いくつかの回答は他のrdbmsにあります... http://dba.stackexchange.com/q/27153 ...あなたの質問は何度も何度も質問されています。以前の書き込みを振り返ってみて – Drew

答えて

0

ありtextvarcharよりも多くのデータ長をサポートしているのでtextvarcharを変更するには大きな問題は無いですが、フィールドにインデックスを持っている場合、それはドロップとプレフィックスcol_name(length)CREATE INDEX syntaxを参照)を使用して新しいインデックスを作成する必要があります。

あなたのデータの内容によれば、おそらくfulltextインデックスを使用するのがよいでしょうが、それはそのフィールドの検索式を変更することを意味します。

プロダクション環境では、データの損失を防ぐために、移行中にテーブルがロックされます。

+0

sqliteは列の種類を変更できないと思っていました。あなたは、おそらく、それを行うSQLクエリを投稿できますか? –