SORU
28 NİSAN 2011, PERŞEMBE


NOW() Set datetime veri türü için Varsayılan Değer olarak?

Datetime veri türü oluşan tablo kullanıcıları yani iki sütun registerDate and lastVisitDate var. Aşağıdaki yapmak istiyorum.

  1. RegisterDate varsayılan değer ŞİMDİ MySQL için Set()
  2. LastVisitDate varsayılan değer 5 ** Yerine varsayılan olarak kullandığı boş olarak ayarlayın.

Tablo zaten mevcut kayıtları var çünkü, Değiştirme tablo kullanmak istiyorum. Aşağıda iki kod parçası kullanarak denedim, ama hiçbiri işe.

ALTER TABLE users MODIFY registerDate datetime DEFAULT NOW()
ALTER TABLE users MODIFY registerDate datetime DEFAULT CURRENT_TIMESTAMP;

Bana Hata veriyor : ERROR 1067 (42000): Invalid default value for 'registerDate'

Bunu bana ŞİMDİ varsayılan datetime değerini ayarlamak mümkün() MySQL?

CEVAP
28 NİSAN 2011, PERŞEMBE


Veri türü zaman damgası ayarlayın.

CREATE TABLE mytable (
  mydate TIMESTAMP,
  ....)

Bakın: http://dev.mysql.com/doc/refman/5.1/en/create-table.html

Eğer UPDATE zaman damgası değeri güncelleme MySQL önlemek istiyorsanız için tanımını değiştirebilirsiniz:

CREATE TABLE mytable (
  mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  ....)

5.6.5 ve üzeri dinamik varsayılan değeri DATETİME türünü kullanabilirsiniz:

CREATE TABLE foo (
    creation_time DATETIME DEFAULT CURRENT_TIMESTAMP
    modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)

Referans: http://optimize-this.blogspot.com/2012/04/datetime-default-now-finally-available.html

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Just So

    Just So

    3 HAZİRAN 2007
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • The10HourMan

    The10HourMan

    28 EYLÜL 2012