V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Renco
V2EX  ›  Java

生产环境上 mysql 查询区分大小写,但是要求列表查询的时候屏蔽大小写,开发应该怎么处理

  •  1
     
  •   Renco · Sep 2, 2019 · 3671 views
    This topic created in 2435 days ago, the information mentioned may be changed or developed.

    有点蒙

    5 replies    2019-09-03 09:18:18 +08:00
    LeeSeoung
        1
    LeeSeoung  
       Sep 2, 2019
    两边都转 lower 不就完事了么。。
    1424659514
        2
    1424659514  
       Sep 2, 2019
    where 子句等号左边跟等号右边都做一个大小写转换, 但这样的问题是无法走到索引
    beastk
        3
    beastk  
       Sep 2, 2019 via iPhone
    要不整两个数据库?
    taogen
        4
    taogen  
       Sep 2, 2019 via Android
    设置生产环境的 MySQL 不区分大小写。要么,把程序中字段的大小写都改成和生产环境的一样。
    Aresxue
        5
    Aresxue  
       Sep 3, 2019
    1.最简单的就是改 sql, 可以区分或者不区分大小写,比如 mybatis 中的 if 标签;
    2.把生产环境设置为不区分大小写,但这样对于需要区分大小写的场景不太友好,需要对返回的结果集进行筛选;
    3.对检索字段的字符进行全排列, 每个都去查一次, 这种方式唯一的好处就是不动数据库, 但是贻害无穷。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1280 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 16:52 · PVG 00:52 · LAX 09:52 · JFK 12:52
    ♥ Do have faith in what you're doing.