我有 UPDATE SQL 语句(如 Dibi 引擎)来更改用户积分和日期。需要一个声明。问题是,我不知道如何在 SQL 级别(不是 PHP)的一个 SQL 查询中使用和检查IF 语句。
所以我想要的是,如果paid_to IS NULL,它将是:
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();
否则,如果paid_to IS NOT NULL,它将是:
dbIndex::query("UPDATE s3n_users SET points = %i, paid_to = DATE_ADD(CURDATE(), INTERVAL $points MONTH) WHERE id_user = %i", $points, $id_user)->result();
我知道,我会在 PHP 中解决这个问题,但是 SQL 中的一条语句当然会更快。因为在 PHP 中,我们必须在检查 NULL 或 NOT NULL 之前使用 SELECT。我们为什么要另外做一件事?