2010-06-01 118 views
6

MySQL如何通過執行單個插入語句插入多條記錄?使用單個插入語句插入多條記錄

手頭的問題涉及1到10條記錄,具體取決於用戶輸入。

+1

你可以用單獨的查詢來完成它。 – 2010-06-01 18:26:40

+0

但這是固定的3記錄,但如果不是。的記錄是動態的?從1記錄到10? – nectar 2010-06-01 18:30:55

回答

11

只用逗號分隔值。

INSERT INTO 
    tablename (colname1, colname2, colname3) 
VALUES 
    ('foo1', 'bar1', 'waa1'), 
    ('foo2', 'bar2', 'waa2'), 
    ('foo3', 'bar3', 'waa3') 
+1

但這是固定的3記錄,但如果不是。的記錄是動態的?從1記錄到10? – nectar 2010-06-01 18:30:36

+4

只需在收集用戶輸入時使用相同的編程語言動態生成sql?或者,您也可以使用「批量插入」。然而細節取決於所討論的編程語言。如果它是例如Java,那麼我會爲此建議'PreparedStatement#addBatch()'。如果是PHP,那麼'implode()'可能會派上用場。 – BalusC 2010-06-01 18:32:22