You have an error in your SQL syntax; check the manual that corresponds解决方法
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对应的位置:
?1 2 3 4 5 6 7 8 9 10 11 12 13 | CREATE PROCEDURE test_insert ( ) BEGIN DECLARE 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语句关键字不冲突的其他名称
看了一个小时,发现是自己的列名之间有空格,因为懒得写,复制过来,使用回车是没有影响的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | < 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内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_40233706/article/details/110541714
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。