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

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • Kayla Caton - Peet

    Kayla Caton

    23 HAZİRAN 2012
  • pjtoohot

    pjtoohot

    15 NİSAN 2008