Dan Nelson <[EMAIL PROTECTED]> wrote on 03/31/2005 03:01:45 PM:

> In the last episode (Mar 31), Chris W. Parker said:
> > I searched the archives, looked through the manual, and searched
> > google for info on how to actually perform a multi-row INSERT but
> > didn't find an answer.
> > 
> > Would someone please show me the syntax for this please?
> > 
> > I could just do a loop and INSERT the data that way but according to 
the
> > manual, a multi-row INSERT is faster.
> 
> The syntax is described in the manual, but not with an explicit
> example.  One of the user comments gives an exaple.
> http://dev.mysql.com/doc/mysql/en/insert.html
> 
> INSERT INTO mytable (f1,f2,f3) VALUES (1,2,3),(4,5,6),(7,8,9);
> 
> will insert three rows.  Just tack as many ,(...) clauses on the end as
> you want.
> 
> -- 
>    Dan Nelson
>    [EMAIL PROTECTED]
> 

One warning they don't mention is that the longest statement you can make 
determined by the server's max_allowed_packet variable. You can add as 
many ,(...) sets into your statement as you like so long as you don't make 
a statement that's too big. To ask your server what it's value is, run 
this command:

SHOW VARIABLES LIKE 'max%';

max_allowed_packets will be one of the values listed.

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine

Reply via email to