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