• mysql and与or连用时遇到的坑


    1,

    SELECT *

    FROM work_log_bbs_up

    WHERE TYPE IS NULL OR TYPE = 0 OR TYPE = 1 OR TYPE = 2 AND is_del = 0

    结果:1166

     

    2,

    SELECT *

    FROM work_log_bbs_up

    WHERE (TYPE IS NULL OR TYPE = 0 OR TYPE = 1 OR TYPE = 2) AND is_del = 0

    结果:492

     

    原因:mysql and 优先级比or高,sql 1 会首先计算TYPE = 2 AND is_del = 0然后与其他条件进行or比较。需要使用()包围起来,明确优先级,因为()优先级比and高。

  • 相关阅读:
    B站使用总结
    安装国外浏览器的好处
    查看网页源代码
    如何下载bilibili上面的视频
    11.27
    11.26
    11.25
    11.24获取时间
    11.23
    11.21
  • 原文地址:https://www.cnblogs.com/enchaolee/p/13673181.html
Copyright © 2020-2023  润新知