MySQL插入报错‘Column Count doesn't match value count at row 1’求助
解决MySQL插入数据时的"Column Count doesn't match value count at row 1"错误
你遇到的这个错误本质是指定的列数量和你提供的值数量不匹配,咱们来逐行排查你的代码问题:
1. 列数与值数不匹配的直接原因
你指定要插入的列一共有6个:Studentno,studentFName,StudentLName,DateOfBirth,YearEnrolled,YearGraduated
但你在VALUES子句里写了7个值:123,'JungKook','Jeon','M','1September1997',2015,2018
多出来的'M'是不属于你列出的任何一列的冗余值,这直接导致了列数和值数对不上,触发了报错。
2. 日期格式的隐藏问题
另外,你的DateOfBirth字段值'1September1997'不符合MySQL默认的日期格式要求,MySQL默认识别的日期格式为'YYYY-MM-DD'(比如'1997-09-01'),如果保持当前格式,后续插入时还会触发日期格式错误,这个也需要同步修正。
修正后的完整代码
insert into Student(Studentno,studentFName,StudentLName,DateOfBirth,YearEnrolled,YearGraduated) Values (123,'JungKook','Jeon','1997-09-01',2015,2018);
额外小建议
- 插入数据时可以逐个数一下列和值的数量,避免这种粗心的小错误;
- 如果必须使用自定义日期格式,可以用
STR_TO_DATE()函数转换,比如STR_TO_DATE('1September1997', '%d%M%Y')也能让MySQL正确解析日期。
内容的提问来源于stack exchange,提问作者Jin
相关产品推荐
相关产品推荐

