Du måste vara tydlig med anledningen till att du vill infoga flera rader i ett enda uttalande. Är det för prestanda?
Ramar är till för programmeringsproduktivitet och bekvämlighet, men inte nödvändigtvis prestanda. Jag håller med om svaret från @Udi Mosayev -- använd ram-API:et i dess enklaste användning.
Om du infogar ett litet antal rader är skillnaden mellan att infoga en rad per sats och flera rader per sats obetydlig.
Om du har ett stort antal rader och du verkligen behöver infoga dem med hög prestanda, inget slår LOAD DATA INFILE
. Dina försök att optimera användningen av INSERT
är penny-wise och pund-dum. Till och med dumpa din PHP-array i en tmp-fil
och sedan ladda den LOAD DATA
är snabbare än att använda INSERT
.