我正在尝试存储当前日期的串联,以及来自另一个表的时间,基于该表中列的比较,我试过这段代码,但它给了我mysql语法错误。出了什么问题?
我的代码:
UPDATE daily_table
SET
task_datetime = CASE
when master_table.check_day = 'Today' then concat(curdate(),' ',master_table.task_time)
when master_table.check_day = 'Tomorrow' then concat( date_add(curdate(),interval 1 day) ,' ', master_table.task_time)
CASE END
我正在使用mysql和phpmyadmin。
答案 0 :(得分:0)
您应该JOIN
master_table
和daily_table
。
这应该对您有所帮助:How can I do an UPDATE statement with JOIN in SQL?
应该是这样的:
UPDATE daily_table dt
INNER JOIN master_table mt ON
mt.col = dt.col
SET dt.taskdate =
CASE
WHEN mt.check_day = 'Today' THEN CONCAT(CURDATE(),' ',mt.task_time)
WHEN mt.check_day = 'Tomorrow' THEN CONCAT( DATE_ADD(CURDATE(),INTERVAL 1 DAY) ,' ', mt.task_time)
END