Det maksimale antal rækker, du kan indsætte i en sætning, er 1000, når du bruger INSERT INTO ... VALUES...
dvs.
INSERT INTO TableName( Colum1)
VALUES (1),
(2),
(3),...... upto 1000 rows.
Men hvis du bruger en SELECT-sætning til at indsætte rækker i en tabel, er der ingen grænse for det, sådan noget som...
INSERT INTO TableName (ColName)
Select Col FROM AnotherTable
Nu kommer til dit andet spørgsmål. Hvad sker der, når der opstår en fejl under et indstik.
Nå, hvis du indsætter rækker ved hjælp af multi-værdi konstruktion
INSERT INTO TableName( Colum1)
VALUES (1),
(2),
(3)
I ovenstående scenarie, hvis en række indsættelse forårsager en fejl, vil hele sætningen blive rullet tilbage, og ingen af rækkerne vil blive indsat.
Men hvis du indsatte rækker med en separat sætning for hver række, dvs. ...
INSERT INTO TableName( Colum1) VALUES (1)
INSERT INTO TableName( Colum1) VALUES (2)
INSERT INTO TableName( Colum1) VALUES (3)
I ovenstående tilfælde er hver række-indsættelse en separat sætning, og hvis en række-indsættelse forårsagede en fejl, vil kun den specifikke insert-sætning blive rullet tilbage, resten vil blive indsat.