mysql - 将列日期设置为另一个表日期列加上 30 天

标签 mysql sql sql-update

我有 2 张 table :

新表

ID____PersonID___Criteria___TimeStamp
1_____456________1__________01/08/2014
2_____287________0__________01/08/2014
3_____359________0__________01/08/2014

人员表

ID______LastLogin
456_____11/08/2013
287_____10/25/2013
359_____09/15/2013

我想做的是将 NewTable.TimeStamp 更新为等于 PersonTable.LoginDate PLUS 30 天,其中 NewTable.Criteria = 0

期望的结果

新表

ID____PersonID___Criteria___TimeStamp
1_____456________1__________01/08/2014
2_____287________0__________11/24/2013
3_____359________0__________10/15/2013

我尝试过,尽管这些似乎没有任何作用:

UPDATE NewTable AS NT
    INNER JOIN PersonTable AS PT ON PT.ID = NT.PersonID AND NT.Criteria = 0
SET NT.TimeStamp = DATE_ADD(PT.LastLogin, INTERVAL 30 DAY);

--我已经尝试过了

UPDATE `NewTable` AS NT, PersonTable AS PT
SET NT.TimeStamp = DATE_ADD(PT.LastLogin, INTERVAL 30 DAY)
WHERE NT.PersonID = PT.ID
    AND NT.Criteria = 0;

最佳答案

UPDATE  NewTable AS NT INNER JOIN PersonTable AS PT 
ON PT.ID = NT.UserID 
SET NT.TimeStamp = DATE_ADD(PT.LastLogin, INTERVAL 30 DAY)
WHERE NT.Criteria = 0

关于mysql - 将列日期设置为另一个表日期列加上 30 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006354/

相关文章:

mysql - 如果 WHERE 子句失败,SQL 将不选择任何行

mysql - 如何更新给定选择条件返回真值的位置?

php - 使用 1 个输入字段搜索 2 列

php - time_stamp数据类型在插入时在mysql数据库中打印全零

MYSQL IF (SELECT) 查询返回多行

mysql - SQL更新执行顺序有关系吗?

sql - 大表更新查询慢

mysql - CASE/WHEN 在 WHERE 条件下取决于行索引

python - 如何在 Python sqlite3 中使用元组选择 WHERE IN VALUES?

mysql - 从字典数据库中获取每个字母系列的索引