202 votes

Comment faire une insertion dans MySQL

J'ai 1-nombre d'enregistrements qui doivent être entrées dans une table. Quelle est la meilleure façon de le faire dans une requête? Dois-je simplement faire une boucle et insérer un enregistrement par itération? Ou est-il un meilleur moyen?

370voto

nietaki Points 2272

De manuel MySQL

INSÉRER des instructions utilisant des VALEURS syntaxe pouvez insérer plusieurs lignes. Faire ce, comprennent plusieurs listes de colonne valeurs, chacun enfermé à l'intérieur entre parenthèses et séparés par des virgules. Exemple:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

27voto

Kam Points 244

La plupart du temps, vous ne travaillez pas dans un client MySQL et vous devriez lot insère ensemble à l'aide de l'API appropriée.

E. g. JDBC:

connection con.setAutoCommit(false); 
PreparedStatement prepStmt = con.prepareStatement("UPDATE DEPT SET MGRNO=? WHERE DEPTNO=?");
prepStmt.setString(1,mgrnum1);                 
prepStmt.setString(2,deptnum1);
prepStmt.addBatch();

prepStmt.setString(1,mgrnum2);                        
prepStmt.setString(2,deptnum2);
prepStmt.addBatch();

int [] numUpdates=prepStmt.executeBatch();

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/tjvbtupd.htm

11voto

janwen Points 583
Insert into table(col1,col2) select col1,col2 from table_2;

S'il vous plaît aller to:http://dev.mysql.com/doc/refman/5.5/en/insert.html

11voto

Load data infile requête est bien meilleure option, mais certains serveurs comme godaddy restreindre cette option sur l'hébergement mutualisé, donc , seulement deux options à gauche puis insérer un enregistrement à chaque itération ou d'insertion , mais l'insertion de lot a son limitaion de caractères si votre requête dépasse ce nombre de caractères défini dans mysql alors que votre requête accident , Alors je suggère d'insérer des données dans des morceaux munies de lot insérer , cela permettra de minimiser le nombre de connexions établies avec la base de données.bonne chance les gars

2voto

bensiu Points 6306

mysql vous permet d'insérer plusieurs lignes à la fois à INSÉRER manuellement

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X