错误提示:
Caused by: java.sql.SQLException: Column count doesn't match value count at row 1
在网上查到出错有好几种情况(没找到我的情况,我是第二种):
第一种:列和值数量不一致
INSERT INTO 表名
(PK_ID, a, b, c
)VALUES(
#{PK_ID,jdbcType=VARCHAR},
#{a,jdbcType=VARCHAR},
#{b,jdbcType=VARCHAR}
)
如上代码,本来要插入id,a,b,c四个字段,结果你value中只有id,a,b,这就会标题所列这种错误
第二种:少标点符号
INSERT INTO 表名
(PK_ID, a, b, c
)VALUES(
#{PK_ID,jdbcType=VARCHAR},
#{a,jdbcType=VARCHAR},
#{b,jdbcType=VARCHAR}
#{c.jdbcType = VARCHAR}
)
能看出来少什么吗?
我想抽自己,最后一个字段是新加的,所以加的时候没有注意加逗号,导致上面的结果
INSERT INTO 表名
(PK_ID, a, b, c
)VALUES(
#{PK_ID,jdbcType=VARCHAR},
#{a,jdbcType=VARCHAR},
#{b,jdbcType=VARCHAR},这里加个逗号
#{c.jdbcType = VARCHAR}
)
第三种:插入中文错误(还未研究)
给个链接:Mysql 插入中文错误:Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F…’ for column ‘course’ at row 1