1. 程式人生 > 資料庫 >mysql錯誤程式碼之1064的解決方案

mysql錯誤程式碼之1064的解決方案

sql語句中詞和mysql的關鍵字衝突了,用 `` (tab鍵上方)將詞括起來就好了。

原來的sql語句

<insert id="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,#{name,#{desc,#{email,#{birthday,#{phone,#{status,#{createtime,jdbcType=DATE},#{roleid,jdbcType=INTEGER})
 </insert>

改正後的 sql(注意,欄位和表名都用``括起來了)

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

補充:MySql ERROR 1064 (42000)同樣的錯誤,不一樣的解決方法

開始時程式碼是這樣:

mysql錯誤程式碼之1064的解決方案

然後執行:

mysql錯誤程式碼之1064的解決方案

程式碼根本毫無錯誤,但為什麼會出錯呢?在我花了2個小時後終於知道了答案。

我沒有加分號!!!!!

修改後程式碼:

mysql錯誤程式碼之1064的解決方案

然後再次執行後:

mysql錯誤程式碼之1064的解決方案

再一次為自己的無知和粗心感到絕望!!!

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。