Si vous avez des requêtes longues et compliquées, avec de nombreuses tables, et qui ne renvoie aucune ligne, vous pouvez utiliser la méthode suivante pour trouver l'erreur dans votre requête :@:
EXPLAIN est assurez vous que tout est bon. Reportez vous à la section EXPLAIN.
WHERE.
LIMIT 10.
SELECT dans la colonne qui devrait retourner des lignes, et comparez la avec la dernière table qui a été supprimé de la requête.
FLOAT ou DOUBLE et des nombres à virgules, vous ne pourrez pas utiliser l'opérateur =! Ce problème est commun à la plus part des langages informatiques, car la représentation en virgule flottante n'est pas une valeur exacte.
mysql> SELECT clean_docs_mysql clean_docs-php debut.php fin.php index.php menu.php mysql php FROM table_name WHERE float_column=3.5; -> mysql> SELECT clean_docs_mysql clean_docs-php debut.php fin.php index.php menu.php mysql php FROM table_name WHERE float_column between 3.45 and 3.55;Dans la plus part des cas, changer le
FLOAT en DOUBLE résoudra le problème !
mysql test < query.sql. Vous pourrez créer un fichier de teste avec mysqldump --quick database tables > query.sql. Editez le fichier, supprimez quelques lignes (certaines sont en trop), et ajoutez votre commande à la in. Vérifier que vous avez toujours votre problème avec :@:
shell> mysqladmin create test2 shell> mysql test2 < query.sql
Envoyez votre test avec mysqlbug à mysql@lists.mysql.com.