Je cherchais juste la même chose. Lorsque j'ai exécuté INSERTs
en utilisant le formulaire standard 'insert' phpMyAdmin, les lignes seraient insérées mais une barre rouge apparaîtrait indiquant les avertissements. Mais quand j'ai fait un insertion en vrac, aucun avertissement n'apparaissait et une barre verte apparaissait à la place en disant simplement le nombre de lignes affectées (vous donnant l'impression que tout s'était bien passé, alors qu'en fait il ne l'aurait pas fait).
J'ai trouvé que je devais envoyer la commande SHOW WARNINGS
manuellement. Par exemple, lors de l'exécution de cette requête, j'ai placé les deux instructions dans la boîte de dialogue phpMyAdmin SQL.
INSERT INTO test2 SELECT * FROM test1;
SHOW WARNINGS;
Cela a donné une liste d'avertissements comme ce qui suit ...
Level Code Message
Warning 1265 Data truncated for column 'a' at row 1
Warning 1265 Data truncated for column 'a' at row 3
Warning 1265 Data truncated for column 'b' at row 3
Warning 1366 Incorrect integer value: 'x' for column 'b' at row...
choses à Remarque:
- Vous ne pouvez pas exécuter la commande
SHOW WARNINGS
plus tard, il apparaît vide. Il doit être dans la boîte avec votre requête initiale lorsque vous cliquez sur "Go".C'est parce que MySQL ne contient que les avertissements pour la dernière requête que vous avez exécutée. Chaque fois que vous cliquez sur un lien ou un bouton phpMyAdmin exécute toutes sortes d'autres requêtes sur la base de données et ainsi vos avertissements précédents sont perdus.
phpMyAdmin fait pas support montrant plusieurs résultats d'une requête personnalisée. Ce faisant cela comme un script SQL ne pas travail ... (comme la version 3.4.10.1)
INSERT INTO test2 VALUES ('my text', 'something else');
SHOW WARNINGS; # you won't see the warnings from here
INSERT INTO test2 VALUES ('my text', 'something else');
SHOW WARNINGS;
Bien que la méthode ci-dessus ne fonctionne pas dans phpMyAdmin, il DEVRAIENT fonctionner correctement dans la commande MySQL client de ligne. Alors utilisez-le si vous en avez besoin.
Si vous avez plusieurs inserts et que vous voulez montrer tous les avertissements, vous avez à enchaîner ensemble comme une seule déclaration INSERT
. Par exemple:
INSERT INTO test2 VALUES
('my text', 'something else'),
('my text', 'something else');
SHOW WARNINGS;