Matti Mäkitalo: DBI und Platzhalter

Beitrag lesen

Hi,

Benutze die Langform des INSERT-Statements, mit den Spaltennamen in Klammern und mit Kommas getrennt zwischen dem Tabellennamen und dem VALUES-Keyword. So funktioniert Dein Code auch noch, wenn irgendwann (z.B. Dein zukünftiges Ich) mal jemand die Tabellenstruktur ändert. Ich finde es ziemlich übel bis kaputt, dass SQL die Angabe der Spalten als optional definiert.

Ich würde weitergehen und die "UPDATE"-ähnliche Syntax verwenden (wobei ich mir nicht sicher bin, ob sie Standard-SQL ist oder rein MySQL-spezifisch.

  
INSERT INTO `bla`  
 SET column1 = 'blub',  
     column2 = 'bli',  
     column3 = 'bla';  

Das kann man dann nämlich ganz schnell in ein UPDATE verwandeln (da spar ich mir beim C&P bissl Arbeit :)) und Werte und Spaltennamen sind noch näher beisammen.
Die Methode mit Angabe der Spaltennamen nutze ich nur noch, wenn ich gleichzeitig mehrere Werte einfüge (was aber nicht häufig passiert) oder in Verbindung als "INSERT INTO bla (...) SELECT ...".

Bis die Tage,
Matti