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

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • girleffect

    girleffect

    20 Mayıs 2008