3

MySQLバックアップをWindowsサーバーからLinuxサーバーにインポートする必要がありました。以前のデータベースではテーブル名が大文字と小文字の両方であったため、現在のサーバー(Linux)ではMySQLの設定で大文字と小文字が区別されないため、現在問題が発生しています。また、共有ホスティングであり、アクセスできないため、設定を変更できません。
PHPのランタイムスクリプトを使用して、大文字と小文字を区別しないモードでMySQLを強制的に実行するにはどうすればよいですか?

4

2 に答える 2

0

このコードを使用して名前を変更したり、オンザフライで使用したりできると思います。

select concat('rename table ', table_name, ' to ' , lower(table_name) , ';') from information_schema.tables where table_schema = 'your_schema_name';

SELECT * from lower(table_name) ... 
于 2012-11-11T09:08:09.777 に答える
-2

これを解決するのは実際には非常に簡単です。my.cnfファイルを編集し、次のエントリを設定/追加するだけです。私のデフォルトのmysqlインストールでは、「my.cnf」は「c:\ programfiles \ mysql \ mysqlserver [version]\my.cnf」にありました。

#Ensure that table names are stored case sensitive and that queries are case sensitive when naming a table
lower_case_table_names=0

このパスをgnu/linuxに変更できます

于 2012-11-11T08:48:01.130 に答える