使用单个插入语句插入多条记录

问题描述:

MySQL如何通过执行单个插入语句插入多条记录?使用单个插入语句插入多条记录

手头的问题涉及1到10条记录,具体取决于用户输入。

+1

你可以用单独的查询来完成它。 – 2010-06-01 18:26:40

+0

但这是固定的3记录,但如果不是。的记录是动态的?从1记录到10? – nectar 2010-06-01 18:30:55

只用逗号分隔值。

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