您的位置:首頁技術文章
文章詳情頁

You have an error in your SQL syntax; ch

瀏覽:13日期:2023-02-18 16:43:10

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

這種錯誤主要是由于,使用了現在版本的mysql不支持的命令引起的錯誤,比如

從MYSQL5.5開始,TYPE=MYISAM這種類型的命令無法使用,MYSQL已經替換成ENGINE來代替TYPE,如果出現這種錯誤,批量替換TYPE= 替換成ENGINE=

還有就是timestamp(14) 不能指定長度~這是時間類型~

一.先看問題

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "略略略’’

二.弄明白是什么問題

問題的意思是:
您的SQL語法有誤。 查看與您的MySQL服務器版本相對應的手冊,以在附近使用正確的語法

三.解決問題

找到了問題就是在~~略略略~~那里的語法或者附近上行或下行的語法有問題(也就是near后面的語句)

四.實際問題

找到SQL對應的位置:

找到SQL對應的位置:

CREATE PROCEDURE test_insert ( ) BEGINDECLARE		i INT DEFAULT 1;	WHILE			i < 100 DO		SELECT			123 AS "name"			SET i = i + 1;			END WHILE;	COMMIT;		END;

找到了是near后面的SET i= i+1;
遇到這種問題大概率是分號等標點符號的問題,如果檢查了這句確定沒有問題,那就,檢查他的上一句或者下一句康康語法有沒有問題,比如我這個問題就是上一句沒有加“;”號,一般來說存儲過程每局后面要以分號結束

添加上去

ok 完美解決

補充

錯誤信息為:
check the manual that corresponds to your MySQL server version for the right syntax

這是之前寫的一條 Mysql語句報的 SQL錯誤,但是仔細檢查 SQL語句沒有發現有什么異常問題。

他會提示你再Mapper中的哪句sql語句的周圍有語法錯誤

解決方法有兩個:

1.在數據庫表沖突字段前后加 `符號(Tab鍵上面那個鍵),就不會再報語法錯誤了;

2.修改數據庫表中沖突字段名稱,修改為和 SQL語句關鍵字不沖突的其他名稱
看了一個小時,發現是自己的列名之間有空格,因為懶得寫,復制過來,使用回車是沒有影響的

<insert id="insert" useGeneratedKeys="true" keyProperty="uid" >INSERT  INTO t_user(username , password , salt ,    phone , email , gender ,    avatar ,is_delete ,  created_user ,    created_time , modified_user ,  modified_time)values (#{username} , #{password} , #{salt} ,#{phone} , #{email} , #{gender} ,#{avatar} ,#{isDelete} ,  #{createdUser} ,#{createdTime} , #{modifiedUser} ,  #{modifiedTime})</insert>

到此這篇關于You have an error in your SQL syntax; check the manual that corresponds的文章就介紹到這了,更多相關an error in your SQL syntax內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
相關文章:
国产综合久久一区二区三区