MySQL Error 1136:Column count does not match value count at row 1
35,958
In the insert statement you need to specify the column names explicitly for the values that are being passed , you can ignore the column names if you are passing all the column values. So your last two statements should be
INSERT INTO student (bannerid,lastname,firstname) VALUES ('b00004444', 'baker', 'al');
INSERT INTO student (bannerid,lastname,firstname) VALUES ('b00005555', 'booker', 'sue');
Author by
kmaz13
Updated on July 23, 2022Comments
-
kmaz13 almost 2 years
DROP TABLE IF EXISTS student; CREATE TABLE student( bannerid VARCHAR(9) PRIMARY KEY NOT NULL , lastname VARCHAR(45) NOT NULL , firstname VARCHAR(45) NOT NULL , major VARCHAR(45) NOT NULL DEFAULT 'undeclared' , gpa DECIMAL(2) NOT NULL DEFAULT 0.00 , age INT NOT NULL DEFAULT 18 ); INSERT INTO student VALUES ('b00001111', 'smith', 'fred', 'computer science', 3.12, 20); INSERT INTO student VALUES ('b00002222', 'jones', 'herb', 'computer science', 2.00, 19); INSERT INTO student VALUES ('b00003333', 'chan', 'jackie', 'computer information systems', 3.50, 50); INSERT INTO student VALUES ('b00004444', 'baker', 'al'); INSERT INTO student VALUES ('b00005555', 'booker', 'sue');
This results in the following error and I do not understand why. I want the last two INSERTs to use the default values.
MySQL Error 1136:Column count does not match value count at row 1
-
kmaz13 about 12 yearsI got it. Thanks for your help!
-
kmaz13 about 12 yearsI'll put the check on your answer in 5 minutes... Thanks again :)
-
Arya over 4 yearsIf using
mysqldump
to import data from one table to another AND the destination table has a different number of columns, then include the--complete-insert
option to add the column list to theINSERT
statement(s). For example:mysqldump --complete-insert -t -h MyHost -u MyUsername -pMyPassword MyDatabase > MyBackupFile.sql