sql >> Database >  >> RDS >> Sqlserver

SQL Server Error 109:Er zijn meer kolommen in de INSERT-instructie dan de waarden die zijn opgegeven in de VALUES-clausule

Dit is een veelvoorkomende fout in SQL Server bij het invoegen van gegevens in een tabel. De volledige fout gaat als volgt:

Msg 109, Level 15, State 1, Line 1
There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

Dit gebeurt wanneer u meer kolommen opgeeft in de INSERT instructie dan het aantal waarden dat u probeert in te voegen met de VALUES clausule.

Dit gebeurt als u per ongeluk een of meer waarden weglaat uit de VALUES clausule.

U krijgt een vergelijkbare (maar technisch andere) fout als u het tegenovergestelde probeert - geef minder op kolommen in de INSERT verklaring dan u probeert in te voegen.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

INSERT INTO Customers (FirstName, LastName) 
VALUES ('Bob');

Resultaat:

Msg 109, Level 15, State 1, Line 1
There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

In dit geval specificeer ik twee kolommen (FirstName , LastName ), maar ik geef maar één waarde op om in te voegen (Bob ).

Hoe de fout op te lossen

Ik kan dit oplossen door ofwel een van de kolommen te verwijderen, of een tweede waarde toe te voegen die moet worden ingevoegd.

Dus ik zou dit kunnen doen:

INSERT INTO Customers (FirstName) 
VALUES ('Bob');

Of dit:

INSERT INTO Customers (FirstName, LastName) 
VALUES ('Bob', 'Brown');

Hoewel, met behulp van deze voorbeelden, als de Achternaam kolom heeft een NOT NULL beperking, zal het eerste voorbeeld die beperking schenden (omdat ik zou proberen NULL in te voegen in de Achternaam kolom wanneer er daadwerkelijk een NOT NULL . is beperking op die kolom).


  1. Juistheid en beperkingen

  2. Oracle:een tabelkolom bijwerken met ROWNUM in combinatie met ORDER BY-clausule

  3. SQL Server TOON TABELLEN Equivalent

  4. Spaties uit een string verwijderen in MySQL