2014-07-15 7 views
-1

Je veux insérer plusieurs enregistrements dans ma table mySQL:insérer plusieurs enregistrements dans ma table mySQL

INSERT INTO example 
    (example_id, name, value, other_value) 
VALUES 
    (1, 'Name 1', 'Value 1', 'Other 1'), 
    (2, 'Name 2', 'Value 2', 'Other 2'), 
    (3, 'Name 3', 'Value 3', 'Other 3'), 
    (4, 'Name 4', 'Value 4', 'Other 4'); 
... 

Puis-je faire avec une boucle? quelque chose comme ça:

for (i=1 ; i<100 ; i++) 
INSERT INTO example 
     (example_id, name, value, other_value) 
    VALUES 
     (i, 'Name '+i, 'Value '+i, 'Other '+i); 
+0

double possible de [par exemple en boucle dans MySQL] (http: // stackoverflow .com/questions/5125096/pour-boucle-exemple-dans-mysql) – AeroX

+0

Essayez-vous d'utiliser avec mysql ou avec php –

Répondre

0

Vous pouvez créer une routine stockée dans Mysql (http://dev.mysql.com/doc/refman/5.0/es/create-procedure.html) qui effectue cette boucle. Par exemple:

DELIMITER // 
CREATE PROCEDURE test() 
BEGIN 
    DECLARE CONT INT; 
    DECLARE END_VALUE INT; 

    SET CONT = 1; 
    SET END_VALUE = 100; 

    WHILE CONT < END_VALUE DO 
     INSERT INTO example_vrc(example_id, name, value, other_value) 
     VALUES(CONT, CONCAT('Name ', CONT), CONCAT('Value ', CONT), CONCAT('Other ', CONT)); 

     SET CONT = CONT + 1; 
    END WHILE; 

END;// 
DELIMITER ; 

Après avoir chargé la procédure dans la base de données, vous serez en mesure d'exécuter par:

CALL test(); 
+0

-1 parce qu'il ne répond pas à la question. En outre, la solution est trop complexe, au lieu d'utiliser des instructions préparées (qui sont faites à cette fin), vous optez pour une procédure - sans même fournir de paramètres pour l'insertion. –

Questions connexes