Андрей
Высший разум
(425694)
4 года назад
UPDATE `table` SET `col` = 0 WHERE DATE_ADD(`date`, INTERVAL 3 DAY) <= NOW()
date - служебное слово, потому имя столбца date необходимо экранировать.
А вот в `col=0` ты с экранированием переборщил и получил не присваивание, а ПОЛЕ с ИМЕНЕМ `col=0`. В `` берётся ТОЛЬКО имя базы данных, имя таблицы, имя столбца.
Даниил ЗеликовУченик (83)
4 года назад
я для примера написал, вообще у меня выглядит в реале это так)
err := tx.Table("tech_support_themes").
Where("close_by_who=0 && last_mes_author=? && DATE_ADD(last_mes_create_at, INTERVAL? DAY) <= NOW()").
Updates(map[string]interface{}{"close_by_who": 3}).Error
Golang
UPDATE `table` SET`col=0` WHERE date + INTERVAL 3 DAY <= NOW();
Вот так пытаюсь, но чё то не получается