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

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 ...


Hibernate 出现这样的错误是因为表中的字段名使用了sql的保留字,不要使用保留字


一、mysql的保留字主要有:

 

ADDALLALTER
ANALYZEANDAS
ASCASENSITIVEBEFORE
BETWEENBIGINTBINARY
BLOBBOTHBY
CALLCASCADECASE
CHANGECHARCHARACTER
CHECKCOLLATECOLUMN
CONDITIONCONNECTIONCONSTRAINT
CONTINUECONVERTCREATE
CROSSCURRENT_DATECURRENT_TIME
CURRENT_TIMESTAMPCURRENT_USERCURSOR
DATABASEDATABASESDAY_HOUR
DAY_MICROSECONDDAY_MINUTEDAY_SECOND
DECDECIMALDECLARE
DEFAULTDELAYEDDELETE
DESCDESCRIBEDETERMINISTIC
DISTINCTDISTINCTROWDIV
DOUBLEDROPDUAL
EACHELSEELSEIF
ENCLOSEDESCAPEDEXISTS
EXITEXPLAINFALSE
FETCHFLOATFLOAT4
FLOAT8FORFORCE
FOREIGNFROMFULLTEXT
GOTOGRANT

GROUP

HAVINGHIGH_PRIORITYHOUR_MICROSECOND
HOUR_MINUTEHOUR_SECONDIF
IGNOREININDEX
INFILEINNERINOUT
INSENSITIVEINSERTINT
INT1INT2INT3
INT4INT8INTEGER
INTERVALINTOIS
ITERATEJOINKEY
KEYSKILLLABEL
LEADINGLEAVELEFT
LIKELIMITLINEAR
LINESLOADLOCALTIME
LOCALTIMESTAMPLOCKLONG
LONGBLOBLONGTEXTLOOP
LOW_PRIORITYMATCHMEDIUMBLOB
MEDIUMINTMEDIUMTEXTMIDDLEINT
MINUTE_MICROSECONDMINUTE_SECONDMOD
MODIFIESNATURALNOT
NO_WRITE_TO_BINLOGNULLNUMERIC
ONOPTIMIZEOPTION
OPTIONALLYORORDER
OUTOUTEROUTFILE
PRECISIONPRIMARYPROCEDURE
PURGERAID0RANGE
READREADSREAL
REFERENCESREGEXPRELEASE
RENAMEREPEATREPLACE
REQUIRERESTRICTRETURN
REVOKERIGHTRLIKE
SCHEMASCHEMASSECOND_MICROSECOND
SELECTSENSITIVESEPARATOR
SETSHOWSMALLINT
SPATIALSPECIFICSQL
SQLEXCEPTIONSQLSTATESQLWARNING
SQL_BIG_RESULTSQL_CALC_FOUND_ROWSSQL_SMALL_RESULT
SSLSTARTINGSTRAIGHT_JOIN
TABLETERMINATEDTHEN
TINYBLOBTINYINTTINYTEXT
TOTRAILINGTRIGGER
TRUEUNDOUNION
UNIQUEUNLOCKUNSIGNED
UPDATEUSAGEUSE
USINGUTC_DATEUTC_TIME
UTC_TIMESTAMPVALUESVARBINARY
VARCHARVARCHARACTERVARYING
WHENWHEREWHILE
WITHWRITEX509
XORYEAR_MONTHZEROFILL



 

二、MySQL中字段名和保留字冲突的解决


只需要用撇号(`)把字段名括起来,这样在select、insert、update、delete等语句中都不会出现语法错误
代码如下:
select col from table1;
这句sql没有问题,当把col换成range
代码如下:
select range from table1;
这句sql有问题

 

当字段名与MySQL保留字冲突时,可以用撇号字符“`”(TAB键上面那个,也就是数字1键前面那个键上的)将字段名括起来:
代码如下:
select `range` from table;


三、SQLserver中字段名和保留字冲突的解决

 

 只需要用[]把字段名括起来,这样在select、insert、update、delete等语句中都不会出现语法错误



四、Oracle中字段名和保留字冲突的解决

 

(1)官方文档说明:


Reserved words and keywordsare identifiers that have special meaning in PL/SQL.

You cannot use reserved words as ordinary user-defined identifiers. You can use them as quoted user-defined identifiers, but it is not recommended. For more information, see"QuotedUser-Defined Identifiers".

You can use keywords as ordinary user-defined identifiers,but it is not recommended.

译文:
保留字和keywordsare标识符,在PL / SQL的特殊意义。
不能使用保留字作为普通用户定义标识符。您可以使用它们作为引用的用户定义标识符,但不推荐使用。更多信息,见“quoteduser定义标识符”。
您可以使用关键字作为普通用户定义的标识符,但不推荐使用。

(2)不能直接使用保留字作为用户定义的变量,但加上双引号就使用。

 

 如:

 create  tale int(

  id  varchar(10),

 name varchar(10),

 primary key id);

出现错误,int是关键字


 

 create  table "int"(

  id  varchar(10),

 name varchar(10),

 primary key id);

这样就正确


 

(3)保留字和关键字

 

保留字:

 

Begins with:Reserved Words

A

ALL, ALTER, AND, ANY, AS, ASC, AT

B

BEGIN, BETWEEN, BY

C

CASE, CHECK, CLUSTERS, CLUSTER, COLAUTH, COLUMNS, COMPRESS, CONNECT, CRASH, CREATE, CURSOR

D

DECLARE, DEFAULT, DESC, DISTINCT, DROP

E

ELSE, END, EXCEPTION, EXCLUSIVE

F

FETCH, FOR, FROM, FUNCTION

G

GOTO, GRANT, GROUP

H

HAVING

I

IDENTIFIED, IF, IN, INDEX, INDEXES, INSERT, INTERSECT, INTO, IS

L

LIKE, LOCK

M

MINUS, MODE

N

NOCOMPRESS, NOT, NOWAIT, NULL

O

OF, ON, OPTION, OR, ORDER, OVERLAPS

P

PROCEDURE, PUBLIC

R

RESOURCE, REVOKE

S

SELECT, SHARE, SIZE, SQL, START, SUBTYPE

T

TABAUTH, TABLE, THEN, TO, TYPE

U

UNION, UNIQUE, UPDATE

V

VALUES, VIEW, VIEWS

W

WHEN, WHERE, WITH

 


关键字:

 

Begins with:Keywords

A

A, ADD, AGENT, AGGREGATE, ARRAY, ATTRIBUTE, AUTHID, AVG

B

BFILE_BASE, BINARY, BLOB_BASE, BLOCK, BODY, BOTH, BOUND, BULK, BYTE

C

C, CALL, CALLING, CASCADE, CHAR, CHAR_BASE, CHARACTER, CHARSET, CHARSETFORM, CHARSETID, CLOB_BASE, CLOSE, COLLECT, COMMENT, COMMIT, COMMITTED, COMPILED, CONSTANT, CONSTRUCTOR, CONTEXT, CONTINUE, CONVERT, COUNT, CURRENT, CUSTOMDATUM

D

DANGLING, DATA, DATE, DATE_BASE, DAY, DEFINE, DELETE, DETERMINISTIC, DOUBLE, DURATION

E

ELEMENT, ELSIF, EMPTY, ESCAPE, EXCEPT, EXCEPTIONS, EXECUTE, EXISTS, EXIT, EXTERNAL

F

FINAL, FIXED, FLOAT, FORALL, FORCE

G

GENERAL

H

HASH, HEAP, HIDDEN, HOUR

I

IMMEDIATE, INCLUDING, INDICATOR, INDICES, INFINITE, INSTANTIABLE, INT, INTERFACE, INTERVAL, INVALIDATE, ISOLATION

J

Java

L

LANGUAGE, LARGE, LEADING, LENGTH, LEVEL, LIBRARY, LIKE2, LIKE4, LIKEC, LIMIT, LIMITED, LOCAL, LONG, LOOP

M

MAP, MAX, MAXLEN, MEMBER, MERGE, MIN, MINUTE, MOD, MODIFY, MONTH, MULTISET

N

NAME, NAN, NATIONAL, NATIVE, NCHAR, NEW, NOCOPY, NUMBER_BASE

O

OBJECT, OCICOLL, OCIDATE, OCIDATETIME, OCIDURATION, OCIINTERVAL, OCILOBLOCATOR, OCINUMBER, OCIRAW, OCIREF, OCIREFCURSOR, OCIROWID, OCISTRING, OCITYPE, OLD, ONLY, OPAQUE, OPEN, OPERATOR, Oracle, ORADATA, ORGANIZATION, ORLANY, ORLVARY, OTHERS, OUT, OVERRIDING

P

PACKAGE, PARALLEL_ENABLE, PARAMETER, PARAMETERS, PARENT, PARTITION, PASCAL, PIPE, PIPELINED, PRAGMA, PRECISION, PRIOR, PRIVATE

R

RAISE, RANGE, RAW, READ, RECORD, REF, REFERENCE, RELIES_ON, REM, REMAINDER, RENAME, RESULT, RESULT_CACHE, RETURN, RETURNING, REVERSE, ROLLBACK, ROW

S

SAMPLE, SAVE, SAVEPOINT, SB1, SB2, SB4, SECOND, SEGMENT, SELF, SEPARATE, SEQUENCE, SERIALIZABLE, SET, SHORT, SIZE_T, SOME, SPARSE, SQLCODE, SQLDATA, SQLNAME, SQLSTATE, STANDARD, STATIC, STDDEV, STORED, STRING, STRUCT, STYLE, SUBMULTISET, SUBPARTITION, SUBSTITUTABLE, SUM, SYNONYM

T

TDO, THE, TIME, TIMESTAMP, TIMEZONE_ABBR, TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_REGION, TRAILING, TRANSACTION, TRANSACTIONAL, TRUSTED

U

UB1, UB2, UB4, UNDER, UNSIGNED, UNTRUSTED, USE, USING

V

VALIST, VALUE, VARIABLE, VARIANCE, VARRAY, VARYING, VOID

W

WHILE, WORK, WRAPPED, WRITE

Y

YEAR

Z

ZONE

 

 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java.io 包

java.io 通过数据流、序列化和文件系统提供系统输入和输出。 请参见: 接口摘要CloseableCloseable 是可以关闭的数据源或目标。DataInputDataInput 接口用于从二进制流中读取字节,并根据所有 Java 基本类型数据进行重构。DataOutputDataOutput 接口用…

linux系统怎么安装pr,Linux安装后的配置

系统:CentOS-6.31.NVIDIA驱动的安装与配置Linux本身的显卡驱动是能够满足平常应用的,但是有时候我们为了获得3D效果,或者更流畅的视频体验,我们会安装新的显卡驱动。这时候就需要安装闭源驱动了,个人认为闭源的驱动更为好一些&…

java第三阶段源代码_有效Java第三版的源代码已更新为使用较新的功能

java第三阶段源代码那些已经阅读了有效Java 第三版的人可能知道与该书相关的源代码可以在GitHub上获得 。 jbloch / effective-java-3e-source-code项目拥有1700多个星星,截至撰写本文时,它已被分叉了近800次。 在有效Java的第三版中, Java的…

《线性代数及其应用》

【0】README 0.1)以下内容转自: http://blog.csdn.net/ljbkiss/article/details/7194719 【1】正文干货 1.1) 断断续续的终于把 《线性代数及其应用(Linear Algebra and Its Application) David C.Lay》 这本书看完了…

micrometer_具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目

micrometer对于那些关注此博客的人来说,难怪我会经常使用InfluxDB。 我喜欢这样一个事实,它是一个真正的单一用途的数据库(时间序列),具有许多功能,并且还带有企业支持。 Spring也是我选择的工具之一。 因…

如何在win7(xp)home version下安装 rose 32 bit

【0】README 0.1) 以下部分内容转自 http://blog.csdn.net/encienqi/article/details/5578725 【1】 干货开始 如果是家庭版(win7 or WindowsXPHomeEdition)请先按以下步骤修改部分文件后再安装: 1.1)安装Microsoft Orca工具 step1&#x…

接口 Closeable

java.io 接口 Closeable public interface Closeable Closeable 是可以关闭的数据源或目标。调用 close 方法可释放对象保存的资源(如打开文件)。 从以下版本开始:1.5方法摘要 void close() 关闭此流并释放与此流关联的所有系统资源。 方法详…

Linux下python包放在哪,在alpinlinux中使用apk安装的Python包

我想用apk在Alpine Linux中安装一些Python包。我用numpy作为下面的例子。文档文件FROM python:3-alpineRUN apk add --update py3-numpy我建立我的码头形象$ docker build -t python-numpy .Sending build context to Docker daemon 2.048kBStep 1/2 : FROM python:3-alpine---…

spring 消息传递机制_Spring再次涵盖了您:继续进行消费者驱动的消息传递合同测试...

spring 消息传递机制在上一篇文章中,我们已经开始讨论基于消息的通信中的消费者驱动的合同测试 。 在今天的帖子中,我们将在测试工具箱中包含另一个工具,但是在此之前,让我对显微镜下的系统进行快速回顾。 它有两项服务&#xff0…

接口 DataInput

java.io接口 DataInput 所有已知子接口:ImageInputStream, ImageOutputStream, ObjectInput所有已知实现类:DataInputStream, FileCacheImageInputStream, FileCacheImageOutputStream, FileImageInputStream, FileImageOutputStream, ImageInputStreamI…

java反射机制总结

【0】README 0.1)以下内容转自: http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html 0.2)for source code, please visit (1~14 source code : https://github.com/pacosonTang/core-java-volume/blob/master…

c语言系统时间的作用,C语言得到当前系统时间

void getTime(){//获取当前系统时间time_t tTime;//距离1900年1月1日的秒数char str[80];struct tm* stTim;//时间结构time(&tTime);stTim localtime(&tTime);strftime(str,sizeof(str),"%Y%m%d%T",stTim);//格式化时间printf(str);}格式化时间的格式%a 星期…

aws集群重启_使用自动伸缩组在AWS中运行安全数据库集群

aws集群重启当您必须在AWS上运行可扩展应用程序时,您的数据库也必须是可扩展的。 扩展无状态应用程序层更容易,在无状态应用程序层中,每个节点几乎都是一次性的-即使3节点集群中的一个节点发生故障,您也可以启动另一个节点&#x…

接口 DataOutput

java.io 接口 DataOutput 所有已知子接口: ImageOutputStream, ObjectOutput 所有已知实现类: DataOutputStream, FileCacheImageOutputStream, FileImageOutputStream, ImageOutputStreamImpl, MemoryCacheImageOutputStream, ObjectOutputStream, Rand…

java流与文件——流

【0】README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件——流 的相关知识; 0.2) 输入流和输出流(InputStream 和 OutputStream传输单位是基于单字节): 0.2.1&#xff09…

c语言结构体定义字符串数组,C语言,结构体中字符串的声明(采用字符指针还是字符数组)...

结构体中,字符串选项是用字符数组表示好,还是用字符指针表示好?typedef struct person{char *name;int age;char sex[6];};该结构体中name用的是指针而不是数组,所以需要给字符串在堆上申请内存然后再赋值;…

java –cp ./:_成为Java流专家–第2部分:中级操作

java –cp ./:就像魔术棒一样,中间操作将一个Stream转换为另一个Stream。 这些操作可以无穷无尽的方式组合在一起,以可读有效的方式执行从简单到高度复杂的任务。 本文是五分之二,其中还有一个GitHub存储库,其中包含每个单元的说…

c语言编程代码对父母感恩,c语言中编程:每个做父母的都关心自己孩子成人后孩子的生高:...

c语言中编程:每个做父母的都关心自己孩子成人后孩子的生高:据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等.小孩成人后的身高与其父母的身高和自身的性别密切相关.设faHeight为其父身高,moHeight为其母…

Servlet之javaweb应用(二)

一、 使用 JavaEE 版的 Eclipse 开发动态的 WEB 工程(JavaWEB 项目) 1). 把开发选项切换到 JavaEE 2). 可以在 Window -> Show View 中找到 Package Explorer, 并把其拖拽到开发区的左边 3). 在 Servers 面板中新建 Tomcat 服务器. 一定要关联到 Tomcat 安装的根目录 4). 新…

java流与文件——文本输入输出

【0】README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件——文本输入输出 的相关知识; 0.2) 在保存数据时,可以选择是二进制还是文本格式; 在存储文本字符串时, 需要考虑字…