2 verschiedene Syntax -> INSERT

hoctar

Erfahrenes Mitglied
Hi :)
wo ist der Unterschied ziwschen den beiden Syntaxs und was würdet ihr benutzen ?
Code:
INSERT INTO sometable
     ( field1, field2, field3 )
VALUES
     ( 'value1', 'value2', 'value3' )

und
Code:
INSERT INTO sometable
   SET field1 = 'value1',
       field2 = 'value2',
       field3 = 'value3'
 
Hi,
abgesehen davon, dass es eher eine Datenbank-Frage und keine PHP-Frage ist, kannst du beide Syntaxen benutzen.
Die erste Syntax hat den Vorteil, dass du auch mehrere Datensätze auf einmal einfügen kannst:
Code:
INSERT INTO sometable
     ( field1, field2, field3 )
VALUES
     ( 'value1_1', 'value1_2', 'value1_3' ),
     ( 'value2_1', 'value2_2', 'value2_3' ),
     ( 'value3_1', 'value3_2', 'value3_3' )

PS: Bei einem Update-Befehl würde das ganze mit UPDATE anfange und nicht mit INSERT.
 
Mit dem 2ten Syntax kann man mehrere Datensätze hinzufügen, hab ich gelesen.
z.B.
Code:
INSERT INTO
  foo
  (x,y,z)
VALUES
  (1,2,3),
  (4,5,6),
  (7,8,9)
 
Du solltest dennoch diesen hier verwenden, denn der zweite Code Schnipsel ist nicht ANSI Konform und funktioniert so nur bei mySQL. Sollte es also irgendwann notwendig sein dein Script/Applikation auf einer anderen Datenbank (SQLite, Oracle, ...) laufen zu lassen, musst du nicht alles umschreiben...

Code:
INSERT INTO sometable
     ( field1, field2, field3 )
VALUES
     ( 'value1', 'value2', 'value3' )
 
Zurück