-edit2- 3hrs plus tard et ont toujours le même problème. J'utilise le paquet d'archive noinstall. -edit- peut-être que quelqu'un peut me dire une meilleure façon de vérifier si une table existe?problème mysql avec information_schema.tables
J'ai une fonction dans ma lib pour vérifier s'il existe une table que j'ai demandé comment faire dans le passé. J'ai supprimé ma base de données et l'ai créée à nouveau. Mon code n'a pas créé les tables correctement. Après le débogage j'ai décidé d'écrire ci-dessous.
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb' AND table_name='ApprovePost';
+--------------+-------------+
| table_schema | table_name |
+--------------+-------------+
| mydb | ApprovePost |
+--------------+-------------+
1 row in set (0.00 sec)
Bizarre ... mydb a été abandonné et a créé à nouveau (je l'ai écrit drop database mydb;
et create database mydb;
. Il est parti?). Permet de savoir ce qui existe déclaration
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb';
Empty set (0.00 sec)
Non seulement je sais pas pourquoi la première montre tables qui est Wrecking mon code, je ne sais pas pourquoi cela ne montre pas toutes les tables (dans cette base de données).
note: Les bases de données doivent toutes être innodb. Aussi c'est une nouvelle installation de Windows et j'ai peut-être mal configuré quelque chose.
Bonus étrangeté.
mysql> drop database mydb;
ERROR 1008 (HY000): Can't drop database 'mydb'; database doesn't exist
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb';
Empty set (0.00 sec)
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb' AND table_name='ApprovePost';
+--------------+-------------+
| table_schema | table_name |
+--------------+-------------+
| mydb | ApprovePost |
+--------------+-------------+
1 row in set (0.00 sec)
On dirait que vous avez besoin d'utiliser la commande FLUSH de TABLES' pour les INFORMATION_SCHEMA.TABLES pour refléter les tables existantes: http://dev.mysql.com/ doc/refman/5.0/fr/table-cache.html –
Merci OMG Ponies. Ça a marché! –
Maintenant, pourquoi n'est-ce pas une réponse! ;) :RÉ. –