在调试一个接口时,发送请求之后报错
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value
然后我非常纳闷,我也没有用到double类型啊,然后去看了看我写的SQL语句,是这样的
<update id="updatePasswordByUsername" parameterType="map">
UPDATE mmall_user
SET password = #{passwordNew}
AND update_time = now()
WHERE username = #{username}
</update>
错就错在那个AND,用update更新多个字段的时候一定要用逗号隔开,而不是AND,切忌粗心大意!!!
改成下面这样就没有问题了
<update id="updatePasswordByUsername" parameterType="map">
UPDATE mmall_user
SET password = #{passwordNew}
,update_time = now()
WHERE username = #{username}
</update>
本文解析了一次SQL更新操作中常见的错误:使用AND连接更新字段而非逗号,导致MysqlDataTruncation异常。通过对比正确与错误的SQL语句,强调了在MyBatis中正确使用逗号的重要性。
1763

被折叠的 条评论
为什么被折叠?



