在mysql中添加1年日期和周天数

在mysql中添加1年日期和周天数,mysql,sql,date,sql-update,dayofweek,Mysql,Sql,Date,Sql Update,Dayofweek,我有数据库表作为日历,LoginDae和LoginDay作为列。我想添加下一年的日期和星期几。我知道如何为一个列执行此操作,但我必须为两个列执行此操作 UPDATE timsheetdb.calendar SET LoginDate = DATE_ADD('2016-02-29', INTERVAL 1 YEAR); 坦率地说,LoginDay甚至不应该是表中的一列。由于它只是LoginDae的一种特定格式,因此您可以删除它,并使用该功能动态生成它,例如,作为视图的一部分: CREATE VI

我有数据库表作为日历,LoginDae和LoginDay作为列。我想添加下一年的日期和星期几。我知道如何为一个列执行此操作,但我必须为两个列执行此操作

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

坦率地说,
LoginDay
甚至不应该是表中的一列。由于它只是
LoginDae
的一种特定格式,因此您可以删除它,并使用该功能动态生成它,例如,作为视图的一部分:

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))

LoginDay
的数据类型是什么?@bluto LoginDay为'Date',LoginDay为'Varchar',所以LoginDay就像周一周二周三?@tofutim是的,你是对的!