2012-09-18 14 views
7

varsayılan tarihini kullanmak için bunu daha iyi pratik olduğu '0000-00-00 00:00:00' ya da benvarsayılan tarih '0000-00-00 00:00:00' ya boş

MySQL veritabanı üzerinde boş

no'lu hesaplamalar için varsayılan tarihi '0000-00-00 00:00:00' kullanın. > bir tarihten daha az bir tarih. Tüm tarih saat operasyonları desteklemek amacıyla anket araştırmalarında

da zaman zaman

+11

'NULL' kullanın. '0000-00-00 00: 00: 00' geçerli bir Tarih değil (ve MySQL'in JDBC sürücüsü bu btw'yi yüklemeyi reddedecektir). Saat **, ** 'NULL' kullanmak için ** var çünkü 00:00 gerçek bir gece (gece yarısı). Yani, gece yarısı ve "zaman yok" arasında ayrım yapamazsınız. –

+1

Genellikle "bilinmeyen" demek için boş kullanın. Hangi değeri atadığınızı bildiğiniz sürece, uygulamanız doğru şekilde işliyorsa bunu kullanabilirsiniz –

+0

Gerçekten de hata durumlarını denetlemeniz gerekiyor (yani geçerli bir tarihin beklendiği sırada NULL tarihler). –

cevap

-1

bilinen değilse 00:00 saklamak için en iyi veya boş bir varsayılan değer NOT NULL olmalıdır. Ayrıca, varsayılan değer olarak "0000-00-00 00:00:00" kullanır.

+3

null neden olmasın –

+1

@MatthewChambers http://www.fromdual.com/default-null-default-values, varsayılan olarak 0000-00-00'ü kullanmanın daha iyi olduğunu düşünürse de, doğru yanıtın tersini tartışır. Alanın boş olması durumunda yorumlamayan yorumlardan bir tanesi var. SELECT * FROM t WHERE city = city' –

+1

@MatthewChambers 'a katılıyorum ve en iyi cevap 0000-00-00. –

İlgili konular