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

  • listedabive

    listedabive

    30 Ocak 2007
  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011
  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008