使用查询构造器查询数据时,匹配到mysql有datetime的字段,该日期会被自动更新,我不需要它被更新。
$token = Db::table('token')->orderBy('times','asc')->limit(1)->get();
token表的last_login字段类型为datetime,执行上述查询时,只要时间(分)小于当前时间(分),这个字段会被自动更新。
例如:
1、last_login当前时间为2025-12-01 00:00:00,如果执行上述sql时,时间为2025-12-01 00:01:00,则时间会被更新成2025-12-01 00:01:00;
2、last_login当前时间为2025-12-01 00:01:00,如果执行上述sql时,时间为2025-12-01 00:01:32,则时间不会被更新;
Server:Ubuntu 24.04
webman/database:2.1
workerman/webman-framework:2.1
php:8.2
这种一般都是自己低级错误导致的,自己的业务要查。
装一个webman/log ,他会记录执行的sql
问题已经排查到,感谢
说明下原因吧,好帮助遇到类似问题的人
这不是框架的问题,我们后端还有一套旧程序在跑,最近被AI扫描了,所以这个日期会周期性的更新掉,排查了日志找到的。