/ / phpMyAdmin SQL Dump - Modèle de répétition des lignes «INSERT INTO» - mysql, phpmyadmin

Dump SQL phpMyAdmin - Modèle de répétition des lignes «INSERT INTO» - mysql, phpmyadmin

Je veux imiter la fonction de vidage SQL de phpMyAdmin avec un Java PrintWriter et tout fonctionne jusqu’à présent, mais je ne vois pas le modèle de répétition "INSERT INTO".

Exemple:

INSERT INTO `table` (`value`) VALUES
(0),
(1),
... <-- 975 lines hidden
(977),
(978);
INSERT INTO `table` (`value`) VALUES
(979),
(981),
... <-- 948 lines hidden
(1929),
(1930);
INSERT INTO `table` (`value`) VALUES
(1931),
(1932),
... <-- 963 lines hidden

Le nombre de lignes entre les instructions "INSERT INTO" varie, mais reste le même pour différentes tables.

Comme la taille de mes tables augmente régulièrement, je dois déterminer ces nombres à implémenter dans mon code.


Répondre

Ainsi, grâce à Sloan Thrashers answer et au code source de phpMyAdmin sur gitHub, j'ai découvert que la longueur maximale d'une requête SQL est définie par défaut à 50000.

La solution dans mon cas personnel:

J'utilise une variable pour compter les caractères jusqu'à présent dans la requête en cours et lorsque je tape 50000, j'insère une nouvelle requête "INSERT INTO".

Maintenant, mon fichier .sql généré ligne par ligne par Java est exactement le même que le fichier exporté depuis la fonction d’exportation de phpMyAdmin et passera une vérification des fichiers de comparaison.

Réponses:

1 pour la réponse № 1

Quand vous faites une exportation d’une table dans phpAdmin, unLe nombre d'exemplaires par insertion est l'un des paramètres d'exportation. Ainsi, lorsque vous parcourez les enregistrements lorsque vous générez les valeurs, vous terminez une insertion et vous la relancez lorsque le nombre d'enregistrements atteint ce nombre.

Habituellement, vous modifiez ce paramètre en fonction de l'enregistrementTaille. Ce n’est pas pour accueillir mySQL autant que pour permettre à quelqu'un de modifier l’exportation si la taille du fichier est trop grande pour pouvoir l'envoyer par courrier électronique ou la télécharger, etc., et la scinder en plusieurs fichiers. Cela peut être dû à des limitations sur la taille des instructions dans une installation mySQL particulière (rare).

Dans votre cas, vous pouvez choisir un nombre basé surla taille de l'enregistrement. Les exportations telles que votre exemple peuvent utiliser un nombre élevé (3 000 +?), Les exportations de tables avec beaucoup de colonnes ou de grandes colonnes peuvent utiliser un nombre plus petit (50?).