Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Spaltenname oder -nummer ... stimmt nicht mit der Tabellendefinition in der Tabelle überein, die vom Erstellungsskript erstellt wurde. Beim Einfügen von Zeilen aus einer Tabelle in eine andere wird ein Fehler angezeigt

Immer Geben Sie die Spaltenliste in Insert-Anweisungen an, und in Insert...select müssen Sie sie immer zweimal angeben - beides in insert -Klausel und im select Klausel.

Außerdem löst SQL Server einen Fehler aus, wenn Sie set identity_insert on verwenden ohne explizit die Spaltenliste im insert anzugeben -Klausel, selbst wenn Sie also alle Spalten in der richtigen Reihenfolge erhalten hätten, würden Sie in diesem Fall immer noch einen Fehler erhalten.

Weitere Informationen finden Sie in Aaron Bertrands Schlechte Angewohnheiten zum Aufgeben:SELECT oder INSERT ohne Spaltenliste die Shnugo in seinem Kommentar verlinkt hat.