mysql错误代码之1064的解决方案

2023年 5月 1日 74.9k 0

sql语句中词和mysql的关键字冲突了,用 `` (tab键上方)将词括起来就好了。 原来的sql语句 insert parameterType="com.zhangman.manman.entity.User" insert into user (id, username, password,name,desc,ema

sql语句中词和mysql的关键字冲突了,用 `` (tab键上方)将词括起来就好了。

原来的sql语句

<insert parameterType="com.zhangman.manman.entity.User" >
insert into user (id, username, password,name,desc,email,birthday,phone,status,createtime,roleId)
values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR}, #{desc,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR},
#{birthday,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
#{createtime,jdbcType=DATE}, #{roleid,jdbcType=INTEGER})
</insert>

改正后的 sql(注意,字段和表名都用``括起来了)

<insert parameterType="com.zhangman.manman.entity.User" >
INSERT INTO `user`
(username, `password`,`name`,`desc`,email,birthday,phone,`status`,createtime,roleId)
VALUES (#{username}, #{password},#{name}, #{desc},#{email},
#{birthday}, #{phone}, #{status},
#{createtime}, #{roleid})
</insert>

补充:MySql ERROR 1064 (42000)同样的错误,不一样的解决方法

开始时代码是这样:

然后运行:

代码根本毫无错误,但为什么会出错呢?在我花了2个小时后终于知道了答案。

我没有加分号!!!!!

修改后代码:

然后再次运行后:

再一次为自己的无知和粗心感到绝望!!!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持每日运维。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论