基于另一个表将curdate()与时间连接起来

时间:2015-03-09 06:17:51

标签: mysql sql datetime concatenation

我正在尝试存储当前日期的串联,以及来自另一个表的时间,基于该表中列的比较,我试过这段代码,但它给了我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。

1 个答案:

答案 0 :(得分:0)

您应该JOIN master_tabledaily_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