MySQL sql 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL sql 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQ相关的知识,希望对你有一定的参考价值。

mysql sql 报错:
我在jsp里面的sql语句是:String sql="create table booknum ( renum int(11),sunum int(11));"+
"insert into booknum (renum,sunum) values((select renum-'"+bnum+"' from fdetail where fno='"+fno+"'),(select sunum+'"+bnum+"' from fdetail where fno='"+fno+"' ));"+
"update fdetail set renum=(select renum from newnum),sunum=(select sunum from newnum);"+
"dorp table booknum";

运行报错:
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 ';insert into booknum (renum,sunum) values((select renum-'6' from fdetail where f' at line 1

而我在mysql里面直接运行:
create table newnum ( renum int(11),sunum int(11));
insert into newnum (renum,sunum) values((select renum- 6 from fdetail where fno=1),(select sunum+15 from fdetail where fno=1))
这里正常运行~
在jsp里面我是用变量代替了具体数据~大家帮看看是什么问题,弄了我一个晚上~
怎么样分开执行呢?我是在一个方法里面想处理完这些。分开的话一个方法可以有多个sql语句吗?

要不你试试用addBatch()方法,来执行这些语句,这个可以把若干sql语句装载到一起,然后一次送到数据库执行。PreparedStatement pstmt = con.prepareStatement(sqlStr.toString());
pstmt.addBatch();
参考技术A 分开执行.

jdbc里不支持一次多个语句

MYSQL8创建新用户报错:You have an error in your SQL syntax;check...

本人所用——MYSQL版本:8.0.25

百度别人的文章是直接创建新用户并赋权,如下:

GRANT ALL PRIVILEGES ON *.* TO 用户名@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

但是我用的MYSQL版本它就不行,会报错!

经查阅资料发现——MYSQL8版本之后需要先创建用户,再赋权。分开操作!

具体操作如下:

第一步——创建用户:

create user 'ceshi'@'localhost' identified by 'password';

注意创建完新用户之后,要刷新权限:

flush privileges;
  • ceshi:创建的用户名;
  • localhost:指定本地才可连接。可以使用%指定任意ip都可连接(用户云服务器上部署的mysql);
  • passwrod:设置的密码。

第二步——授权:

grant all privileges on *.* to 'ceshi'@'localhost' with grant option;
  • 第一个*表示通配数据库(可指定新键的用户只可操作的数据库)。如下:
grant all privileges on 数据库名.* to 'ceshi'@'localhost';
  • 第二个*表示通配表(可指定新键的用户只可操作的数据库下的某个表)。如下:
grant all privileges on 数据库名.数据表名 to 'ceshi'@'localhost';

拓展——删除用户操作:

①删除用户:

drop user 'ceshi'@'localhost';

以上是关于MySQL sql 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQ的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL8创建新用户报错:You have an error in your SQL syntax;check...

MYSQL8创建新用户报错:You have an error in your SQL syntax;check...

MySQL sql 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQ

插入mysql语句报错:1064 - You have an error in your SQL syntax; check the manual that corresponds to your M

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual ...

Python操作mysql数据库出现pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; c