2015-11-16 3 views
1

У меня есть таблица базы данных как календарь с LoginDate и LoginDay как столбцы. Я хочу добавить дату и день недели на следующий год. Я знаю, как это сделать для одного столбца, но я должен сделать это для обоих столбцов.Добавление 1 год дней и дней недели в mysql

UPDATE timsheetdb.calendar 
SET LoginDate = DATE_ADD('2016-02-29', INTERVAL 1 YEAR); 
+0

Что такое тип данных 'LoginDay'? –

+0

@bluto LoginDate как 'Дата' и LoginDay как 'Varchar' – dpk

+0

so LoginDay как понедельник Вторник Среда? – tofutim

ответ

1

Откровенно говоря, LoginDay не должно быть даже столбец в таблице. Так как это просто определенный формат для LoginDate, вы можете оставить его, и генерировать его на лету, используя функцию dayname, например, как часть обзора:

CREATE VIEW calendar_view AS 
SELECT *, DAYNAME(LoginDate) AS LoginDay 
FROM calendar 

Если это не вариант, вы могли бы используйте ту же функцию в своем заявлении update:

UPDATE timsheetdb.calendar 
SET LoginDate = DATE_ADD('2016-02-29', INTERVAL 1 YEAR), 
     LoginDay = DAYNAME(LoginDate = DATE_ADD('2016-02-29', INTERVAL 1 YEAR))