2009-08-15 28 views
15

Unix Zaman Damgası ile istatistik ve time adında bir alana sahibim.UNIX Zaman Damgası MySQL DATETIME

Tabloda yaklaşık 200 satır var, ancak geçerli satırları kaybetmeden Unix zaman damgasını MySQL DATETIME olarak değiştirmek istiyorum. Mevcut tablonun:

CREATE TABLE `stats` (
    `id` int(11) unsigned NOT NULL auto_increment, 
    `time` int(11) NOT NULL, 
    `domain` varchar(40) NOT NULL, 
    `ip` varchar(20) NOT NULL, 
    `user_agent` varchar(255) NOT NULL, 
    `domain_id` int(11) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 

Yani time (INT) bir DATETIME alan olmalıdır.

nasıl MySQL'in DATETIME için Unix zaman damgası güncelleyebilirim?

+0

Sen http://www.jordigirones.com/455-convertir-unix-timestamp-en-fecha-de-mysql.html](http [datetime zaman damgasını dönüştürmek için nasıl görebilirsiniz : Büyük Works –

cevap

30

Gerçek için kullanmadan önce test etmeyi unutmayın, bu bellekten yazılır, ancak size iyi bir fikir vermelidir.

ALTER TABLE `stats` CHANGE `time` `unix_time` int(11) NOT NULL // rename the old column 
ALTER TABLE `stats` ADD `time` DATETIME NOT NULL // create the datetime column 
UPDATE `stats` SET `time`=FROM_UNIXTIME(unix_time) // convert the data 
ALTER TABLE `stats` DROP `unix_time` // drop the old unix time column 
+0

//www.jordigirones.com/455-convertir-unix-timestamp-en-fecha-de-mysql.html), sonuncusu TABLO 'stats' ALTER olmalıdır. Teşekkürler! –

+0

düzeltildi, – Lepidosteus

+0

Büyük İşi yardımcı olmaktan mutluluk! Mükemmel çalıştı! – Abadis

3
  1. kullanımı, aynı tablo
  2. güncelleştirme istatistikleri ayarlanır time2 = from_unixtime (zaman) 'de tarih saat türü ile yeni bir sütun (örn. Time2) oluşturmak için tablo değiştirebilir;
  3. kullanım) için tablo değiştiren Zaman sütun silmek ve b) zamana zamanı2 adlandırmak.
0
ALTER TABLE `stats` 
MODIFY COLUMN `time` timestamp NULL DEFAULT '0000-00-00 00:00:00' AFTER `id`; 
ALTER TABLE `stats` 
MODIFY COLUMN `time` datetime NULL DEFAULT '0000-00-00 00:00:00' AFTER `id`; 
İlgili konular