J'ai la plus étrange erreur de toutes.
Parfois, lors de la création ou de la modification de tables, j'obtiens l'erreur «la table existe déjà». Cependant, DROP TABLE renvoie '# 1051 - table inconnue'. J'ai donc une table que je ne peux pas créer, je ne peux pas supprimer.
Lorsque j'essaye de supprimer la base de données, mysqld plante. Parfois, il est utile de créer une autre base de données avec un nom différent, parfois non.
J'utilise une base de données avec ~ 50 tables, toutes InnoDB. Ce problème se produit avec différentes tables.
J'ai vécu cela sur Windows, Fedora et Ubuntu, MySQL 5.1 et 5.5. Même comportement, lors de l'utilisation de PDO, PHPMyAdmin ou de la ligne de commande. J'utilise MySQL Workbench pour gérer mon schéma - j'ai vu des erreurs liées (lignes de fin et autres), mais aucune d'entre elles n'était pertinente pour moi.
Non, ce n'est pas une vue, c'est une table. Tous les noms sont en minuscules.
J'ai essayé tout ce que je pouvais sur google - vidanger les tables, déplacer les fichiers .frm de la base de la base vers la base de données, lire le journal mysql, rien n'a aidé à réinstaller le tout.
«Afficher les tables» ne révèle rien, «décrire» la table dit «la table n'existe pas», «il n'y a pas de fichier .frm, mais« créer une table »se termine toujours par une erreur (de même que« créer une table si elle n'existe pas ») et la suppression de la base de données plante mysql
Questions connexes, mais inutiles:
Éditer:
mysql> use askyou;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table users_has_friends (id int primary key);
ERROR 1050 (42S01): Table '`askyou`.`users_has_friends`' already exists
mysql> drop table users_has_friends;
ERROR 1051 (42S02): Unknown table 'users_has_friends'
Et tel, tout de même: la table n'existe pas, mais ne peut pas être créée;
mysql> drop database askyou;
ERROR 2013 (HY000): Lost connection to MySQL server during query
Les noms changent, ce n'est pas la seule table / base de données avec laquelle j'ai rencontré des problèmes
SHOW FULL TABLES IN askyouet SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA LIKE 'askyou'?