2
問題は、MySQLデータベースがLinus上にあり、Windows上にMySQL DBが展開されていることです。 DBはInnoDBです。そこで、大文字と小文字を区別するテーブルの名前で問題が発生しました。だから、それはOSの種類からindipendantされている名前PHP MySQL InnoDB Unix Windowsの大文字と小文字を区別するテーブル名
function getTableName($table_name){
$query="select TABLE_NAME from `information_schema`.`TABLES` where table_name
like '%$table_name%' ";
$result=mysql_query($query,$this->connection);
$err_number=mysql_errno($this->connection);
if (!$err_number){
$num_rows = mysql_num_rows($result);
if ($num_rows==1){
$row = mysql_fetch_assoc($result);
return $row["TABLE_NAME"];
}else {
return "";
}
}else {
return "";
}
}
: は、私のような解決策を見つけました。しかし、同じことをするMySQLのオプションが存在する可能性がありますか?
を使用しています。制約名は大文字小文字の区別があり、非常にうまく移行しません。テーブル名を小文字に変更しても、制約は変更されません。このオプションを適用した後でも、すべての制約がすべて小文字であることを確認してください。これは、InnoDBをLinuxからWindowsに移行する際に特に重要です。 – RolandoMySQLDBA