Comment faire une insertion en bloc dans mySQL si vous utilisez quelque chose comme https://github.com/felixge/node-mysql
123
Comment faire une insertion en bloc dans mySQL si vous utilisez quelque chose comme https://github.com/felixge/node-mysql
Réponses:
Les insertions en masse sont possibles en utilisant un tableau imbriqué, voir la page github
Vous insérez simplement un tableau imbriqué d'éléments.
Un exemple est donné ici
Remarque:
values
est un tableau de tableaux enveloppés dans un tableauIl existe également un package node-msql totalement différent pour l'insertion en masse
la source
conn.execute()
utilisation de déclarations préparées? Sinon, est-il possible d'utiliser des instructions préparées lors de l'insertion? Merci.La réponse @ Ragnar123 est correcte, mais je vois beaucoup de gens dire dans les commentaires que cela ne fonctionne pas. J'ai eu le même problème et il semble que vous deviez envelopper votre tableau
[]
comme ceci:Il doit être passé comme
[pars]
dans la méthode.la source
?
au lieu de??
pour obtenir le bon groupement.Je cherchais une réponse sur l'insertion d'objets en masse.
La réponse de Ragnar123 m'a amené à créer cette fonction:
J'espère que ça aide!
la source
J'ai rencontré ceci aujourd'hui ( mysql 2.16.0) et j'ai pensé partager ma solution:
la source
Tous les accessoires à Ragnar123 pour sa réponse.
Je voulais juste l'élargir après la question posée par Josh Harington pour parler des identifiants insérés.
Ceux-ci seront séquentiels. Voir cette réponse: Est-ce qu'une insertion multi-lignes MySQL saisit les ID d'auto-incrémentation séquentielle?
Par conséquent, vous pouvez simplement faire ceci (remarquez ce que j'ai fait avec le result.insertId):
(J'ai extrait les valeurs d'un tableau d'objets que j'ai appelé persistentObjects.)
J'espère que cela t'aides.
la source
Ceci est un "raw-copy-paste" rapide extrait pour pousser une colonne de fichier dans mysql avec node.js> = 11
250 000 lignes en quelques secondes
la source
?
aprèsVALUES
, sans crochets. De cette façon, un tableau de tableaux de colonnes peut être automatiquement traité dans des insertions en masse. Je l'ai utilisé pour analyser des centaines de mégaoctets de journaux d'accès dans MySQL.Au cas où cela serait nécessaire, voici comment nous avons résolu l'insertion du tableau
la demande provient du facteur (vous regarderez "invités")
Et comment nous avons scénarisé
la source
Ragnar
La réponse de If ne fonctionne pas pour vous. Voici probablement pourquoi (d'après mon expérience) -Je n'utilisais pas le
node-mysql
package comme indiqué monRagnar
. J'utilisaismysql
package. Ils sont différents (si vous ne l'avez pas remarqué - tout comme moi). Mais je ne sais pas si cela a quelque chose à voir avec le?
non fonctionnement, car cela semblait fonctionner pour de nombreuses personnes utilisant lemysql
package.Essayez d'utiliser une variable au lieu de
?
Ce qui suit a fonctionné pour moi -
J'espère que cela aide quelqu'un.
la source
Peu de choses que je veux mentionner, c'est que j'utilise le package mysql pour établir une connexion avec ma base de données et ce que vous avez vu ci-dessous est du code de travail et écrit pour insérer une requête en masse.
la source
J'avais un problème similaire. C'était juste en insérant un de la liste des tableaux. Cela a fonctionné après avoir apporté les modifications ci-dessous.
J'espère que cela t'aides. J'utilise mysql npm.
la source
L'insertion en bloc dans Node.js peut être effectuée à l'aide du code ci-dessous. J'ai référé beaucoup de blog pour obtenir ce travail.
veuillez également consulter ce lien. https://www.technicalkeeda.com/nodejs-tutorials/insert-multiple-records-into-mysql-using-nodejs
Le code de travail.
J'espère que ceci vous aidera.
la source