2

現在、phpMyAdmin でかなり奇妙な問題が発生しています。データベースを表示できるように見えますが、コマンド コンソールから個々の選択コマンドを実行しない限り、データベースに含まれるテーブルを表示できません。何が起こっているのか理解できないようです。新しい列などを追加するたびに変更コマンドを実行する必要がないので、かなり面倒です。何が起こっているのか知っている人はいますか?

4

4 に答える 4

7

同じ問題がありました。ただし、新しく作成されたデータベースにダンプをインポートした後でのみ。mysql.exe を介してテーブルを表示すると、テーブルが一覧表示されました。原因は、インポート ファイル (またはダンプ ファイル) に次のようなビュー定義が含まれていたことです。

/*!50001 DROP TABLE IF EXISTS `view_myview`*/;
/*!50001 DROP VIEW IF EXISTS `view_myview`*/;
/*!50001 SET @saved_cs_client          = @@character_set_client */;
/*!50001 SET @saved_cs_results         = @@character_set_results */;
/*!50001 SET @saved_col_connection     = @@collation_connection */;
/*!50001 SET character_set_client      = latin1 */;
/*!50001 SET character_set_results     = latin1 */;
/*!50001 SET collation_connection      = latin1_swedish_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */
/*!50001 VIEW `view_myview` AS select `p`.`id` AS blabla */;
/*!50001 SET character_set_client      = @saved_cs_client */;
/*!50001 SET character_set_results     = @saved_cs_results */;
/*!50001 SET collation_connection      = @saved_col_connection */;

ファイルからビュー定義を削除し、再度インポートを実行すると、phpMyAdmin にテーブルが表示されました。もちろん、ビューは不足していましたが、当時は必要ありませんでした。本当の原因は DEFINER 行に関係していると思います:

 /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */

here で説明されている同じ問題

于 2014-01-31T15:47:45.797 に答える
1

私の場合は、ブラウザ (Firefox) の何らかのキャッシュの問題でした。プライベート ウィンドウまたは別のブラウザで phpMyAdmin を開くと、すべてのテーブルが再び表示されました。

于 2015-03-24T14:23:52.983 に答える
0

グーグルで答えを探してみましたか?解決策を提供できるいくつかの方法があります。

https://dba.stackexchange.com/questions/4897/mysql-tables-do-not-show-up-in-the-phpmyadmin-and-mysqlworkbench

http://otherleg.com/anotherblog/archives/1488

など...

于 2012-09-23T20:21:24.270 に答える