首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:大小写敏感性

问MySQL:大小写敏感性
EN

Stack Overflow用户
提问于 2016-06-27 08:58:17
回答 1查看 346关注 0票数 0

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

问题是开发团队不接受将表名更改为小写,而利用漏洞的团队不接受将表名更改为大写。

我知道我们可以使用lower_case_table_names to 1来强迫大小写变得不敏感,但是我没有重新启动mysqld的权限。

我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-27 09:07:46

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38049715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档