解决 MySQL 中的列数与值数不匹配的错误?
mysqlmysqli database
当您在目标表中插入记录时,如果列数不匹配,就会发生此类错误。作为演示示例,让我们创建一个表
mysql> create table errorDemo -> ( -> User_Id int NOT NULL AUTO_INCREMENT, -> User_Name varchar(20), -> PRIMARY KEY(User_Id) -> ); Query OK, 0 rows affected (0.47 sec)
错误如下
mysql> insert into errorDemo values('John'); ERROR 1136 (21S01): Column count doesn't match value count at row 1
为了避免此类错误,您需要使用以下语法
insert into yourTableName(yourColumnName1,yourColumnName2,...N)values(yourValue1,yourValue2,....N);
使用 insert 命令在表中插入一些记录。
查询如下
mysql> insert into errorDemo(User_Name) values('John'); Query OK, 1 row affected (0.12 sec) mysql> insert into errorDemo(User_Name) values('Carol'); Query OK, 1 row affected (0.14 sec) mysql> insert into errorDemo(User_Name) values('Sam'); Query OK, 1 row affected (0.15 sec)
使用 select 语句显示表中的所有记录。
查询如下
mysql> select *from errorDemo;
以下是输出 −
+---------+-----------+ | User_Id | User_Name | +---------+-----------+ | 1 | John | | 2 | Carol | | 3 | Sam | +---------+-----------+ 3 rows in set (0.00 sec)