MySQL-এ ERROR 1136 (21S01): Column count doesn't match value count at row 1 এরর হয় যখন INSERT স্টেটমেন্টে প্রদত্ত ভ্যালুর সংখ্যা টেবিলের কলাম সংখ্যার সাথে মেলে না — সাধারণত অটো-ইনক্রিমেন্ট কলামের ভ্যালু না দিয়ে বাকি কলামগুলো দেয়া হলে।
এরর উদাহরণ
mysql> insert into DemoTable1353 values('Chris',23);
ERROR 1136 (21S01): Column count doesn't match value count at row 1
সমাধান: অটো-ইনক্রিমেন্ট কলাম নির্দিষ্ট করুন বা বাদ দিন
mysql> create table DemoTable1353 (
Id int NOT NULL AUTO_INCREMENT,
Name varchar(20),
Age int,
PRIMARY KEY(Id)
);
Query OK, 0 rows affected (0.52 sec)
mysql> insert into DemoTable1353(Name,Age) values('Chris',23);
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable1353(Name,Age) values('David',21);
mysql> insert into DemoTable1353(Name,Age) values('Bob',24);
mysql> insert into DemoTable1353(Name,Age) values('John',47);
ফলাফল
mysql> select * from DemoTable1353; +----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Chris | 23 | | 2 | David | 21 | | 3 | Bob | 24 | | 4 | John | 47 | +----+-------+------+
নিয়ম: অটো-ইনক্রিমেন্ট কলামের ভ্যালু না দিয়ে INSERT INTO table(col1,col2) VALUES(...) সিনট্যাক্স ব্যবহার করুন। অথবা VALUES(DEFAULT, 'Chris', 23) লিখুন।