update出现诡异结果,不知道为什么

一张测试表t6,5个字段,第一个是主键,共20条数据

修改第3列的三条数据值为3,修改完成结果却查不到

update t6 set intcol2=3 where id0 in (select id0 from t6 where intcol2=937054603 order by id0 limit 0,3);

查看表里数据,发现是第三列数据没有改变,更新的是第4列的数据,更奇怪的是第二列的数据发生了不可思议的变化,光从长度上看就长了一倍,这些结果都让人难以琢磨,大家有类似遭遇吗,或者是我sql的问题,望知道的不吝指教。

类似的update再执行,结果依然是这样,贴几张图再


简单修改,结果符合预期

嵌套主键列筛选然后更新,问题依旧

是什么版本的,方便导出表结构和测试数据吗

版本3.0.2,表结构和测试数据如下
t6.txt (3.7 KB)

测了下 3.0.19 没有这个问题,可能是之前版本修复的 Bug,修复 Update 语句包含子查询时,转换子查询出现的错误 #12483,3.0.2 版本比较老了建议做下升级

感谢测试,确实版本的问题,升级后update符合预期。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。