2013-05-22 3 views
0

В таблице есть строка формата DATETIME 2013-01-01 01:01:01 Я хочу обновления, дата строки и Chenge все годы от 2013 до 2012Mysql дата обновления год

Мои SQL UPDATE билеты SET YEAR( t_date ) = 2012 WHERE YEAR( t_date ) = 2013

Но это не работает, то, что неправильно ?

ответ

1
SELECT date_Add(t_date - INTERVAL 1 YEAR), t_date 
FROM your TableName where year(T_Date) =2013 

Update yourTableName set t_date= date_Add(t_date-Interval 1) YEAR WHERE year(T_DATE) = 2013 

Ваш метод не работает, потому что ваш синтаксис неверен. Проверить the manual

точное link

1

Что плохого в том, что YEAR(t_date) является результатом функции, и вы не можете обновить результат функции.

Вы можете сделать

update tickets 
    set t_date = date_add(t_date, interval -1 year) 
where year(t_date) = 2013 
+0

@BlaiseSwanwick: спасибо, фиксированы, я печатал слишком быстро. – beny23

Смежные вопросы