Her ikisi de Yaratılmış olması ve Güncellenen Geçen zaman damgası sütunları MySQL 4.0
Aşağıdaki tablo şema var
CREATE TABLE `db1`.`sms_queue` (
`Id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`Message` VARCHAR(160) NOT NULL DEFAULT 'Unknown Message Error',
`CurrentState` VARCHAR(10) NOT NULL DEFAULT 'None',
`Phone` VARCHAR(14) DEFAULT NULL,
`Created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`LastUpdated` TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,
`TriesLeft` tinyint NOT NULL DEFAULT 3,
PRIMARY KEY (`Id`)
)
ENGINE = InnoDB;
Aşağıdaki hata ile başarısız:
ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause.
Benim sorum, bu alanların her ikisi de alabilir miyim? veya el ile her bir işlem sırasında LastUpdated bir alan var mı?
CEVAP
From the MySQL 5.5 documentation:
Bir tabloda bir zaman DAMGASI sütun sütun, otomatik güncelleme değeri, ya da her ikisi olarak başlatma için varsayılan değer olarak geçerli zaman damgası olabilir.Olası geçerli bir zaman damgası sütun için varsayılan değer olarak, ve otomatik güncelleme başka bir sütun için bir değer değildir.
Daha önce masa başına en fazla bir zaman DAMGASI sütun otomatik olarak başlatılır veya geçerli tarih ve saat için güncellenmiş olabilir.Bu kısıtlama kaldırılmıştır.Herhangi bir zaman DAMGASI sütun tanımı CURRENT_TIMESTAMP VARSAYILAN herhangi bir kombinasyonu ve CURRENT_TIMESTAMP maddeleri güncelleyebilir. Buna ek olarak, bu maddeler artık DATETİME sütun tanımları kullanılabilir. Daha fazla bilgi için, Otomatik Başlatma ve Zaman DAMGASI ve DATETİME için Güncelleme.
Oluşturma zaman damgası ve son Uyku ve...
MySQL Unix zaman damgası datetime dönü...
İnsan okunabilir tarih MySQL kullanara...
MySQL sorguda tarih için zaman damgası...
MySQL tarih n gün önce bir zaman damga...