2013-12-11 30 views
9

mysql kullanarak, bir tarih sütunu ve bir zaman sütunu bir zaman damgası sütunu yapmaya çalışıyorum. Tarih veya saat sütunu bir NULL değeri içeriyorsa, mysql, zaman damgası sütunundaki ilgili değeri otomatik olarak current_timestamp değerine ayarlar. Geçerli zaman damgası yerine bir NULL varsayılan yapmak için bir yolu var mı?mysql zaman damgası varsayılan değere, değil current_timestamp

şey gibi: Geçerli zaman damgası almak istiyorsanız, sizin sütununu

ALTER TABLE `customers` 
ADD COLUMN `s_timestamp` TIMESTAMP NULL DEFAULT NULL; 

eklemek için

ALTER TABLE customers ADD COLUMN s_timestamp TIMESTAMP DEFAULT NULL; 

cevap

23

kullanın bu sorgu Ve:

ALTER TABLE customers ADD s_timestamp TIMESTAMP; 
UPDATE customers 
SET s_timestamp = timestamp(s_date,s_time) DEFAULT NULL; 
-1

Bu işe gerektiğini düşündüm Sadece güncelleme hakkında:

ALTER TABLE `customers` 
ADD COLUMN `s_timestamp` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP; 
+1

Yapmıyor. 'TIMESTAMP' sütunları, 'NULL' eklendiğinde [özel otomatik davranış] (http://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html) içerir. Boş bir işaretçiyi ayarlamak için, sütunu nillable yapmak zorundasınız. –

+0

postgres ile test edildi - işe yaradı – niyou

+0

Usulüne dikkat edin, ancak soru MySQL davranışı ile ilgilidir. –

İlgili konular