2016-06-27 3 views
0

私は非常に複雑な問題があります。 開発チームは、jdbc(大文字と小文字を区別)を使用してSQLスクリプトを作成しました。これはMySQLでテーブルを検索します。しかし、MySQLでは、テーブルは小文字で書かれているため、エラーが発生します。MySQL:大文字と小文字の区別

問題はdevチームがテーブル名を小文字に変更することを受け入れず、開発チームはテーブル名を大文字に変更することを認めません。

私はlower_case_table_names to 1を使用して大文字小文字を区別しないように強制できますが、mysqldを再起動する権限はありません。

どうすればよいですか?

+2

この問題は、社内でのみ解決できます。私たちは何もできません。私の意見では、現在の状態は新しいコードに適合させるべきです。このようにして、既存の他のコードは壊れません。 –

+0

会社の内部問題。 – Pred

答えて

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) 
+0

SHOW CREATE TABLE F_VAL; DEFAULT NULL、 'F_ID' int(11)DEFAULT NULL、 ' DATE' varchar(10)DEFAULT NULL、 'I'varchar(10)DEFAULT NULL、 'II'のはvarchar(10)DEFAULT NULLを、 ' III'のはvarchar(10)DEFAULT NULLを ) –

+0

SHOW 'localhost' SQL SECURITY DEFINER VIEW' @ TABLE F_VAL =>アルゴリズムをCREATE = UNDEFINED DEFINER = 'root'を作成'F_VAL'.'F_ID' AS' F_ID '、' F_VAL'.'DATE'''''''''''''' F''''''''''''''はAS'''です。 'F_VAL''''''''''''''''''' F_VAL''''''''''''''' F_VAL'''から' 'F_VAL'''の' 'III''を継承しています。 –

+0

は、 –

関連する問題