【问题标题】:updating one row with current timestamp based on it's id [duplicate]根据它的 id 用当前时间戳更新一行 [重复]
【发布时间】:2019-01-07 16:38:24
【问题描述】:

我有一张这样的桌子:

id | date    | date2
3  |2019-1-6| NULL
2  |2019-1-5| NULL
1  |2019-1-2| NULL

我希望我的查询仅针对最新的 id 更新 date2

id | date    | date2
3  |2019-1-6 | 2019-1-7
2  |2019-1-5 | NULL
1  |2019-1-2 | NULL

我试过了,但它不允许我在使用更新查询时在 where 中使用 select 子句。

update table set data2=current_timestamp where id=(select max(id) from table)

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以定义记录的更新顺序并在第一个之后停止:

    update your_table 
    set data2 = current_timestamp 
    order by id desc
    limit 1
    

    【讨论】:

    • 不应该是current_timestamp(),或者如果没有(),该功能是否有效
    • 就像一个魅力。谢谢老哥
    • 于尔根谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2014-06-11
    • 2019-07-06
    • 2022-10-14
    • 1970-01-01
    相关资源
    最近更新 更多