看来,MySQL并不是我的强项。我在现有表中添加了一个timestamp
列,其中默认值应为CURRENT_TIMESTAMP
。但是,所有现有的行都有空白的时间戳(0000-00-00 00:00:00)。我想做的是使用另一个表的timestamp列更新这些行的timestamp列(名为ts
)。我要先匹配两个表中的两列。因此,如果(tb1.col1 = tb2.col1 AND tb1.col2 = tb2.col2) OR (tb1.col1 = tb2.col2 AND tb1.col2 = tb2.col1
),则将tb2
的timestamp列用作tb1的timestamp列中的更新值。
那有意义吗?我将如何编写这样的更新语句?
谢谢阅读。感谢所有帮助。
最佳答案
非常简单直接地看到the docs中的最后一个示例
Update tbl1, tbl2
set
tb1.ts = tbl2.ts
WHERE (tb1.col1 = tb2.col1 AND tb1.col2 = tb2.col2)
OR (tb1.col1 = tb2.col2 AND tb1.col2 = tb2.col1)
关于mysql - 使用另一个表中的列更新一个表中的时间戳列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15262681/