org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '2' near line 1, column 50 [from com.online.doc.domain.DocInfo where STATUS=:2]
HQL映射出现了错误
STATUS=:2
这里的问题,2你再检查一下,如果是数据,不用带冒号(:),如果是变量,设置一个新的名称,例如STATUS=:status
然后在Query里面进行设置
具体类型不知,估计这两个足够了,建设Query q = ......
q.setString("status","2")
q.setInt("status",2)
看看你的类型是什么吧
MySQL 服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini 里 MySQL 的 basedir 路径设置错误等;解决方法,一、在C:\WINDOWS\my.ini 删除该文件, 修改里面的文件路径(如果没有该文件,则新建一个),至少包含basedir,datadir这两个基本的配置(或者直接复制mysql安装文件的mysql server目录下的my.ini文件,修改basedir,datadir这两个基本的配置)。
[mysqld]
# set basedir to installation path, e.g., c:/mysql
# 设置为MYSQL的安装目录
basedir=D:/www/WebServer/MySQL
# set datadir to location of data directory,
# e.g., c:/mysql/data
# 设置为MYSQL的数据目录
datadir=D:/www/WebServer/MySQL/data
另外,要注意:
[WinMySQLadmin]
Server=D:/www/WebServer/MySQL/bin/mysqld-nt.exe
user=root
password=xxxxxxxx
#以上是设置WinMySQLadmin的配置
[Client]
user=root
password=xxxxxxxx
如果还是不行的话:MySQL Server Instance Config Wizard,在进行安装下mysql服务。。。。。。。。。。。。。
1.停止mysql服务:
右键点击“我的电脑”图标,出现右键菜单后左键点击“管理”。d出“电脑管理”对话框后,左键点击“服务与程序”,接着点击“服务”,最后找到mysql服务并将其关闭。
2.进入控制面板,点击卸载程序,进入卸载程序对话框后卸载mysql。
3.组合键W+R进入运行,输入“regedit”,查看下面 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 的键值,将mysql键值(mysql、mysqladmin)删掉 。
4.重启系统。
5.再次安装mysql程序。
flask中向mysql中数据 *** 作会出现字符集的问题,比如创建数据模型:db.create_all()时,控制台会出现warring 1366 的字符集警告,是这样的:
这个异常是mysql问题,而非python的问题,这是因为mysql的字段类型是utf-xxx, 而在mysql中这些utf-8数据类型只能存储最多三个字节的字符,而存不了包含四个字节的字符。
解决方法:
修改mysql数据表的字段类型为utf8mb4,只有在mysql5.5之后可以支持。
在flask配置中设置字符集:
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)