0

I have a table like so:

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

I want my query to update date2 only for the newest id:

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

I tried this but it won't let me use select clause in where while using an update query.

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

1 Answers1

2

You can define in which order the records are being updated and stop after the first one:

update your_table 
set data2 = current_timestamp 
order by id desc
limit 1
juergen d
  • 201,996
  • 37
  • 293
  • 362