I have a very complicated problem.
The dev team wrote a SQL script using jdbc (case sensitive), which searches for a table in MySQL. But in MySQL, the table is written in lower case, so it throws an error.
The problem is the dev team do not accept to change the table name to lowercase, and the exploitation team do not accept to change the table name to uppercase.
I know we can use lower_case_table_names to 1
to force the case to insensitive, but I do not have the permission to restart mysqld.
What should I do?
Answer
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)
No comments:
Post a Comment