首页 文章

MySQL:区分大小写

提问于
浏览
0

我有一个非常复杂的问题 . 开发团队使用jdbc(区分大小写)编写了一个SQL脚本,它在MySQL中搜索一个表 . 但是在MySQL中,表是用小写编写的,所以它会抛出一个错误 .

问题是开发团队不接受将表名更改为小写,并且开发团队不接受将表名更改为大写 .

我知道我们可以使用 lower_case_table_names to 1 强制案例不敏感,但我没有权限重启mysqld .

我该怎么办?

1 回答

  • 0
    Create view with Uppercase name 
    
        mysql> select * from f_val;
        ERROR 1146 (42S02): Table 'TEST.f_val' doesn't exist
        mysql> select * from F_VAL;
        +------+------+------+--------+-------+-------+
        | ID   | F_ID | DATE | I      | II    | III   |
        +------+------+------+--------+-------+-------+
        |    1 |   11 | 1/26 | peanut | where | Now   |
        |    2 |   22 | 1/26 | butter | he    | there |
        |    3 |   11 | 1/27 |  jelly | at    | he    |
        |    4 |   33 | 1/27 |  time  | huh   | go    |
        |    1 |   11 | 1/25 | cake   | where | Now   |
        +------+------+------+--------+-------+-------+
        5 rows in set (0.01 sec)
    
        CREATE VIEW f_val AS SELECT * FROM F_VAL;
    
    select * from f_val;
    +------+------+------+--------+-------+-------+
    | ID   | F_ID | DATE | I      | II    | III   |
    +------+------+------+--------+-------+-------+
    |    1 |   11 | 1/26 | peanut | where | Now   |
    |    2 |   22 | 1/26 | butter | he    | there |
    |    3 |   11 | 1/27 |  jelly | at    | he    |
    |    4 |   33 | 1/27 |  time  | huh   | go    |
    |    1 |   11 | 1/25 | cake   | where | Now   |
    +------+------+------+--------+-------+-------+
    5 rows in set (0.00 sec)
    
    mysql> INSERT INTO f_val(ID,F_ID,DATE) VALUES(10,10,"1/25")
        -> ;
    Query OK, 1 row affected (0.08 sec)
    
    select * from f_val;
    +------+------+------+--------+-------+-------+
    | ID   | F_ID | DATE | I      | II    | III   |
    +------+------+------+--------+-------+-------+
    |    1 |   11 | 1/26 | peanut | where | Now   |
    |    2 |   22 | 1/26 | butter | he    | there |
    |    3 |   11 | 1/27 |  jelly | at    | he    |
    |    4 |   33 | 1/27 |  time  | huh   | go    |
    |    1 |   11 | 1/25 | cake   | where | Now   |
    |   10 |   10 | 1/25 | NULL   | NULL  | NULL  |
    +------+------+------+--------+-------+-------+
    6 rows in set (0.00 sec)
    
    mysql> SELECT * FROM F_VAL;
    +------+------+------+--------+-------+-------+
    | ID   | F_ID | DATE | I      | II    | III   |
    +------+------+------+--------+-------+-------+
    |    1 |   11 | 1/26 | peanut | where | Now   |
    |    2 |   22 | 1/26 | butter | he    | there |
    |    3 |   11 | 1/27 |  jelly | at    | he    |
    |    4 |   33 | 1/27 |  time  | huh   | go    |
    |    1 |   11 | 1/25 | cake   | where | Now   |
    |   10 |   10 | 1/25 | NULL   | NULL  | NULL  |
    +------+------+------+--------+-------+-------+
    6 rows in set (0.01 sec)
    

相关问题