如何解决 MySQL 中“列数与值数不匹配”的错误?


无论何时向目标表中插入记录,如果列数与值数不匹配,就会发生这种类型的错误。为了进行演示,我们创建一个表格

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);

使用插入命令向表中插入一些记录。

查询如下

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)

使用选择语句显示表中的所有记录。

查询如下

mysql> select *from errorDemo;

输出如下

+---------+-----------+
| User_Id | User_Name |
+---------+-----------+
| 1       | John      |
| 2       | Carol     |
| 3       | Sam       |
+---------+-----------+
3 rows in set (0.00 sec)

更新于:30-Jul-2019

698 浏览量

启动您的职业生涯

完成课程获得认证

开始
广告