2014-07-15 75 views
-1

我想在我的MySQL表中插入多條記錄:在我的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'); 
... 

我可以做到這一點的循環?類似的東西:

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

可能重複[對於MySQL的循環示例](HTTP://計算器.com/questions/5125096/for-loop-example-in-mysql) – AeroX

+0

您是否嘗試使用mysql或者使用php –

回答

0

您可以創建在MySQL(http://dev.mysql.com/doc/refman/5.0/es/create-procedure.html)一個存儲程序執行該循環。例如:

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 ; 

你已經加載到數據庫中的過程後,您將能夠執行通過:

CALL test(); 
+0

-1,因爲它沒有回答問題。此外,解決方案太複雜,而不是使用準備好的語句(這是爲此目的而設計的),您可以選擇一個過程 - 甚至不需要提供插入參數。 –