一条神奇的sql
大爷来玩啊:https://github.com/Slovty/php-notes
github看不了图的话,麻烦移驾:https://gitee.com/slovty/php-notes/blob/master/eNotes/%E4%B8%80%E6%9D%A1%E7%A5%9E%E5%A5%87%E7%9A%84sql.md
个人有一个习惯,喜欢在查询的时候把sql也打印出来去数据库执行一下,看是否预期一致。 就是这个习惯,让我发现一个"神奇"的现象:同一预期的sql通过不同的方法而得到出不同的结果集。
本次问题环境
mysql5.7 php7.3.4nts ThinkPHP5.1 redis5.0.5
出现的问题现象
原先代码的本意是查出type(数据类型为enum)为2或者3的数据,因为涉及到工作,这里就用一个测试案例呐。 可以通过下图看到,我们的本意是查出xn_my_enum表符合条件为type为1,2的数据集。但是呢,我拿到sql去数据库执行的 结果,和tp的查询构造器方法获得的数据集不一样(⊙o⊙)?
明显的,list才是我们所预期的数据集,而list才是我们所预期的数据集,而list2就。。。
这是啥玩意啊,为啥type为“3”