2011-10-10 32 views
7

Tabloda sütun update_date var ve zaman damgası yazın. Deade_minestAMP menüsüne phpmyadmin aşağı açılır menüyü kullanarak deault değerini ayarladım. Ancak daha sonra sql GÜNCELLEME x SET ... 'u çalıştırdığımda, yalnızca sütunlarda herhangi bir değişiklik olduğunda zaman damgası sütununu günceller. Elde etmek istediğim, güncelleme sql'sinin her çalıştığı zaman bir değişiklik olup olmadığı veya geçerli saati ayarlamamasıdır. Bunu mysql'de yapmanın bir yolu var mı, yoksa güncelleme her çağrıldığında update_date'i açıkça ayarlamalı mıyım?MYSQL zaman damgası sütun otomatik güncelleme, değişiklik olmasa bile mi?

Teşekkür ederiz

cevap

6

Sütunu açıkça güncellemeniz gerekir. Arka arkaya başka sütunun değeri bugünkü değerinden değiştirildiğinde

otomatik güncelleme TIMESTAMP sütunu, eğer varsa, otomatik olarak geçerli zaman damgasına güncellenir: MySQL kılavuzunda, TIMESTAMP properties itibaren. Diğer tüm sütunlar geçerli değerlerine ayarlanırsa, TIMESTAMP sütunu değişmez. TIMESTAMP sütununa NULL dışında bir değer açıkça atanırsa, otomatik güncelleştirme geçerli olmaz.

Vurgu benim.

+0

Satırda yalnızca bir zaman damgası sütunu var. Yani, varsayılan değeri null değerine çevirmeli ve sql her çalıştırıldığında açıkça güncellemeliyim ya da CURRENT_TIMESTAMP olarak varsayılan türden ayrılabilir miyim? – akd

+1

Diğer bir şey şu ki bu kodu çalıştırdığımda hiçbir şey güncellenmiyor "UPDATE x SET update_date = NOW()" from mysql_query? Sebebi ne olurdu? – akd

+0

Çok kullanışlı ve zor ipucu! –

İlgili konular