执行的sql如下,其中sync_config_item_ext 表无id字段,但是成功执行,以超时结束:
SELECT count(*) FROM sync_log WHERE rsn > (SELECT applied_rsn FROM sync_config_item_ext WHERE id = 42)
超时结束 怎么确定是成功执行了
正常不应该是直接报错无id列吗?
对呀 正常不是应该报错吗?碰到bug了?
explain 看一下
sync_log 这个表里面是不是有id字段。。。。
1 个赞
是滴,有
的确是解析成了 sync_log.id
1 个赞
SQL 写错了呗, id 时 sync_log 表的 id ,数据库没问题
1 个赞
这是bug吧
你每个表加上别名,就没这问题了。。。
1 个赞
不算 bug 吧 , 这种 sql 语法就是允许把外面表的条件写在里面
1 个赞
我还以为子查询里的条件不加别名只能识别成子查询表的字段
不是bug,我们也遇到过,当时排查了半天。特别神奇~
确实 不算bug。属于脑子没转过来
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。