私は、mysqlテーブルの "Varchar"カラムの1つをテキストフィールドに変換しています。私は単にタイプを変換するために単一の変更コマンドを使用しています。私はテキストについて読んで、varcharはそれが記憶メカニズムに違いがあることを知りました。MysqlのVarcharへの移行
列のタイプと移動データを変更するための移行スクリプトを作成する必要がありますか、または1つのタイプの変更コマンドで十分ですか?
私は、mysqlテーブルの "Varchar"カラムの1つをテキストフィールドに変換しています。私は単にタイプを変換するために単一の変更コマンドを使用しています。私はテキストについて読んで、varcharはそれが記憶メカニズムに違いがあることを知りました。MysqlのVarcharへの移行
列のタイプと移動データを変更するための移行スクリプトを作成する必要がありますか、または1つのタイプの変更コマンドで十分ですか?
ありtext
がvarchar
よりも多くのデータ長をサポートしているのでtext
にvarchar
を変更するには大きな問題は無いですが、フィールドにインデックスを持っている場合、それはドロップとプレフィックスcol_name(length)
(CREATE INDEX syntaxを参照)を使用して新しいインデックスを作成する必要があります。
あなたのデータの内容によれば、おそらくfulltext
インデックスを使用するのがよいでしょうが、それはそのフィールドの検索式を変更することを意味します。
プロダクション環境では、データの損失を防ぐために、移行中にテーブルがロックされます。
sqliteは列の種類を変更できないと思っていました。あなたは、おそらく、それを行うSQLクエリを投稿できますか? –
変更が残っていれば、あなたはいいですか – Drew
私はProductionセットアップでそれをやろうとしていますか? – ted
それは非常に広い質問またはコメントです。いくつかの回答は他のrdbmsにあります... http://dba.stackexchange.com/q/27153 ...あなたの質問は何度も何度も質問されています。以前の書き込みを振り返ってみて – Drew