sql >> Database teknologi >  >> RDS >> Mysql

Hvad betyder MySQL med, at kolonneantal ikke matcher værdiantal i række 1

Din employee tabellen har 7 kolonner, men du giver 8 værdier for indsæt, hvilket genererer den fejlmeddelelse, du får.

En god vane er at angive kolonnerne for insert i redegørelsen. Dette gør denne type fejl meget lettere at få øje på, da du ikke behøver at se tilbage på definitionen af ​​tabellen (det forhindrer også din forespørgsel i at mislykkes, hvis du nogensinde tilføjer nye kolonner til tabellen på et tidspunkt i fremtiden - eller slip eksisterende kolonner).

INSERT INTO employee(emp_id, first_name, birth_day, sex, salary, super_id, branch_id)
VALUES(100, 'David', 'Wallace', '1967-11-17', 'M', 250000, NULL);

Sidebemærkning:id uden anførselstegn first-name , som kan ses i create table erklæring for employee , er ikke gyldig - fordi den indeholder en bindestreg (- ). Jeg går ud fra, at det er en tastefejl, og du mente i stedet en understregning (first-name ).




  1. Sådan migrerer jeg mine tabeller fra min asp.net-kerneapp på linux

  2. MySQL:Vælg forrige måned og måned før

  3. PostgreSQL 9.2 - Konverter TEXT json-streng til at skrive json/hstore

  4. Laravel 5:Overtrædelse af integritetsbegrænsning:1452 Kan ikke tilføje eller opdatere en underordnet række:en fremmednøglebegrænsning mislykkes