MySQL deyimi [kapalı]


-1

Bitiş tarihini kontrol etmek ve eşleşen bir tarihte a / c'yi devre dışı bırakmak için bir MySQL deyimi nasıl oluşturulur?

desc mailbox;
username varchar
pass     varchar
created  datetime
expiry   datetime
active   tinyint(1)

A / c (kullanıcı adı ile belirtilen) sona erme tarihinde sona ermesi gerekir. active=0


Bu soru konu dışı ve StackOverflow (daha önce bir hesabınızın olduğu) hakkında daha iyi sorulacaktı.
tombull89

Belki de dba.se'de
Tom O'Connor,

Yanıtlar:


1

Buraya sormadan önce kendinle ilgili sorun hakkında düşündün mü? Açıklama yapmak oldukça kolay, sadece ingilizce'yi SQL'e çevirmek:

Posta kutusu tablomu güncelle ve süresinin şimdiden daha az olduğu yerlerde 0 olarak ayarla

UPDATE mailbox SET active = 0 WHERE expiry < NOW()

Uyarı: Bir expiry < NOW()tabloyu her seçtiğinizde kontrol etmek daha iyi olacaktır , çünkü bir kayıt süresi sona erebilir ve bir sonraki kullanım süresi dolmadan önce sorgulanabilir.


Daha temiz bir yaklaşım, gerekli kısıtlamaları içeren bir görünüm kullanmak olabilir ("etkin" ve "son kullanım" için filtreleme).
Wabbit
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.