У меня есть таблица tbl_a, с «ID» в качестве первичного ключа, с columnns «GROUP_ID», «ДАТА», «длина», «ДЕЙСТВИТЕЛЬНО», «ИДС»Обновление разных столбцов с условием?
Я хотел бы сделать обновление запрос, который будет обновлять как:
UPDATE all GROUP_ID
из 7
быть CID=9
и if(DATE+LENGTH<TODAY)
// Я хочу сказать, если столбец DATE с добавлением LENGTH месяцев меньше, чем сегодняшняя дата (NOW()),
THEN
SET VALID to be FALSE
for that row.
Использование формата ГГГГ-мм-dd
так, что если таблица была
ID| GROUP_ID | DATE | LENGTH| VALID| CID
---------------------------------------------------
1| 7 | 2011-12-01 | 1 | 1 | 2
2| 7 | 2012-01-01 | 1 | 1 | 7
3| 7 | 2012-02-01 | 1 | 1 | 2
4| 7 | 2012-03-01 | 2 | 1 | 3
после обновления:
ID| GROUP_ID | DATE | LENGTH| VALID| CID
---------------------------------------------------
1| 7 | 2011-12-01 | 1 | 0 | 9 // res:2012-12-01,update VALID
2| 7 | 2012-01-01 | 1 | 0 | 9 // res:2012-02-01,update VALID
3| 7 | 2012-02-01 | 1 | 1 | 9 // res:2012-03-01,no update for VALID
4| 7 | 2012-03-01 | 2 | 1 | 9 // res:2012-05-01,no update for VALID
Не могли бы вы сказать мне синтаксис для этого запроса?
Утверждение «ОБНОВИТЬ ВСЕ GROUP_ID 7 для CID = 9» неясно. Вам нужно будет уточнить, что вы хотите, когда условие 'DATE + LENGTH
Что означает 'length' - часы, минуты, дни, годы? –