gpt4 book ai didi

mysql - 如何更新 ID = SELECT (...) 的某些行 - SQL

转载 作者:行者123 更新时间:2023-11-29 02:21:43 24 4
gpt4 key购买 nike

我有一个表 - “日志”。

+-------+--------+-----------+---------------+
| logId | spName | startTime | executionTime |
+-------+--------+-----------+---------------+
| 1 | mail | 11:54:49 | 300 |
| 2 | calc | 13:12:11 | 500 |
| .... | | | |
| 100 | log | 15:30:30 | 400 |
+-------+--------+-----------+---------------+

我想像这样更新它:

UPDATE logs 
SET executionTime = 600
WHERE logId = ( SELECT max(logId) FROM logs WHERE spName = 'calc' )

但是我收到一个错误:

Error Code: 1093. You can't specify target table 'logs' for update in FROM clause

我不知道怎么解决(

最佳答案

您可以通过使用 ORDER By 和 LIMIT 对单个查询执行此操作

UPDATE logs 
SET executionTime = 600
WHERE spName = 'calc'
ORDER By logId DESC
LIMIT 1

这将只更新具有最大 logId 的一行

关于mysql - 如何更新 ID = SELECT (...) 的某些行 - SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30616517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com