2011-07-28 9 views
0

タイムスタンプの値を格納するsubmit_dateというフィールドがあります。TEXTをINTフィールドに変換する(submit_date)

フィールドタイプはtextです - これをINTに変換したい - これを行う最も安全な方法は何ですか?

INTに変換するとパフォーマンスが向上しますか?

おかげ

答えて

2

最も安全な方法は、(すなわちないテストのセットアップでデータ型を変更しようとすることですオンライブデータベース)。 これが動作しない場合は、あなたがする必要があります。

  1. CASTを使用して列を(INTする新しいINT UNSIGNED列にTEXT列から
  2. コピーデータを追加するテーブルを変更)
  3. ドロップ古い列、新しい名前の名前を変更します。必要に応じてインデックスを作成する

はい、一般的に高速にする必要があります。

+0

mysqlのTEXTフィールドから直接INTにキャストできますか?私はMSSQLでtext-> varchar-> intに移動しなければならないことを知っているからだけ尋ねます。直接キャストを許可しません。 –

+0

これはいいですか? 'ALTER TABLE sales CHANGE submit_date submit_date INT(12)UNSIGNED NOT NULL' –

+0

そして、int値として最初に格納されなかった値を修正することを忘れないでください。 – HLGEM