MySQL ЕСЛИ ЗАТЕМ - PullRequest
       11

MySQL ЕСЛИ ЗАТЕМ

2 голосов
/ 05 октября 2010

У меня есть таблица с

* PwdSettings со значением -50 (то есть 50 дней)

* PwdDate (дата последнего обновления)

* ExpDate (что равно 0 или 1, если пароль старый, мне нужно, чтобы он был установлен на 1)

Я пытаюсь написать запрос: «ЕСЛИ PwdDate is

Вот то, что я пробовал до сих пор, все выдает ошибку.

UPDATE wp_users SET ExpDate = 1 WHEN PwdDate < DATE_ADD(CURDATE(), INTERVAL -50 DAY) WHERE user_email='dylan@wccit.com'

UPDATE wp_users SET ExpDate = 1 WHERE user_email='dylan@wccit.com' IF(PwdDate < DATE_ADD(CURDATE(), INTERVAL -50 DAY))

IF PwdDate < DATE_ADD(CURDATE(), INTERVAL -50 DAY) WHERE user_email='dylan@wccit.com' THEN SET ExpDate = 1

Ответы [ 3 ]

1 голос
/ 05 октября 2010

Использование:

UPDATE wp_users 
   SET ExpDate = 1 
 WHERE PwdDate < DATE_ADD(CURDATE(), INTERVAL -50 DAY) 

... или, используя DATE_SUB:

UPDATE wp_users 
   SET ExpDate = 1 
 WHERE PwdDate < DATE_SUB(CURDATE(), INTERVAL 50 DAY) 
1 голос
/ 07 октября 2010

Вот как я это сделал.

UPDATE wp_users 
SET ExpDate = IF(PwdDate <= DATE_ADD(CURDATE(), INTERVAL PwdSettings DAY), 1, 0)
WHERE user_email='myEmail@domain.com'
0 голосов
/ 05 октября 2010

Поместите дополнительное условие в предложение WHERE:

UPDATE wp_users
SET ExpDate = 1
WHERE user_email='dylan@wccit.com'
AND PwdDate < CURDATE() - INTERVAL 50 DAY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...