gpt4 book ai didi

mysql - 更新 MySQL 中特定 ID 的最后一个条目

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:53 25 4
gpt4 key购买 nike

我有一个表student_log,单个'rollno'有多个记录。

'sno' 是 student_log 表的 auto_increment 索引。

假设我想为特定学生(由“rollno”查找)的最后(最近)条目更新特定字段的值,我该怎么做?我目前的方法不起作用。我这样做:

update student_log set timein=current_timestamp() where rollno='ST001' and 
sno = (select sno from student_log where rollno='ST001' order by sno desc limit 1);

使用子查询,我试图检索学生的 rollno 匹配的最新记录的 sno。我正在尝试使用它来匹配 sno 与更新语句,但这是行不通的。

我知道语法是正确的,但我认为这只是意味着 MySQL 不允许更新使用子查询。谢谢。问我是否遗漏了任何信息。

最佳答案

UPDATE student_log
SET timein=current_timestamp()
WHERE rollno='ST001'
ORDER BY sno DESC
LIMIT 1

编辑
测试了我的查询,是的,它是可行的,或者我在 OPs 表结构中遗漏了什么

mysql> UPDATE student_log
-> SET timein=current_timestamp()
-> WHERE rollno='ST001'
-> ORDER BY sno DESC
-> LIMIT 1;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT * FROM student_log;
+-----+--------+---------------------+
| sno | rollno | timein |
+-----+--------+---------------------+
| 1 | st001 | 0000-00-00 00:00:00 |
| 2 | st002 | 0000-00-00 00:00:00 |
| 3 | st001 | 2012-07-11 12:05:23 |
+-----+--------+---------------------+
3 rows in set (0.00 sec)

关于mysql - 更新 MySQL 中特定 ID 的最后一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11429920/

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