2017-08-07 17 views
0

私はINT(11)になるように変更する必要があるタイプtimestampの既存のデータベース列を持っていますが、これを行うには各タイムスタンプの値私はそれを変えるので。Mysql:列をタイムスタンプからintに変換し、各更新の変換を実行します。

ここに私のMODIFY文がその正しくタイムスタンプを変換しません、現在の:

ALTER TABLE my_table 
MODIFY COLUMN updated_on INT(11) UNSIGNED NOT NULL; 

は、ALTERコマンドに変換関数か何かを提供する方法はありますか?そうでなければ私は

  • は、新しい列を作成することができます考えていた、タイプのINT(11) UNSIGNED NOT NULL
  • 変換updated_on_tempと呼ばれてすべてのタイムスタンプをコピー:

UPDATE my_table 
SET updated_on_temp = UNIX_TIMESTAMP(updated_on); 

  • が第二の方法は、これを行うための唯一の効率的な方法ですupdated_on

updated_on_tempの名前を変更しupdated_on列を削除しますか?

+0

なぜに

TIME_TO_SEC() 

に変換する時間の値を関数を使用することができますか? a)値をa)要求に応じてアクセス可能な型に変換することはむしろ愚かなように見えるb)より少ない情報を含むc)元の型にキャストすることなく操作できない – symcbean

答えて

0

あなたは秒

関連する問題