2013-08-26 1 views
1

J'ai l'instruction SQL UPDATE (comme le moteur Dibi) pour changer les points d'utilisateur et la date. Besoin une déclaration de cela. Le problème est, que je ne sais pas comment utiliser et vérifier instruction IF dans une requête SQL au niveau SQL (pas PHP).Comment rendre l'instruction IF à vérifier est nulle ou non au niveau SQL?

donc ce que je veux, que si paid_to IS NULL, ce sera:

dbIndex::query("UPDATE s3n_users SET points = %i, paid_to = DATE_ADD(paid_to, INTERVAL $points MONTH) WHERE id_user = %i", $points, $id_user)->result(); 

Sinon, si paid_to IS NOT NULL, ce sera:

dbIndex::query("UPDATE s3n_users SET points = %i, paid_to = DATE_ADD(CURDATE(), INTERVAL $points MONTH) WHERE id_user = %i", $points, $id_user)->result(); 

Je sais , que je voudrais résoudre ceci en PHP, mais une déclaration dans SQL sera plus rapide, bien sûr. Parce qu'en PHP, nous devions utiliser SELECT avant de vérifier NULL ou NOT NULL. Pourquoi devrions-nous en plus une autre chose?

Répondre

Questions connexes