解决 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)

相关文章