保留关键字(Reserved Words)导致的Jpa保存错误

使用Jpa操作数据库时,如果字段名称使用了数据库保留关键字,会报错:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'option, state, id) values ('2017-09-18 16:50:53.477', '0', '2017-09-18 16:50:53.' at line 1
然后,我到mysql官网查看了一下保留关键字都有(带(R)标识的是保留关键字),我们在创建表的时候,字段名称表名称注意避免。

Table 9.2 Keywords and Reserved Words in MySQL 5.5

ACCESSIBLE (R)ACTIONADD (R)
AFTERAGAINSTAGGREGATE
ALGORITHMALL (R)ALTER (R)
ANALYZE (R)AND (R)ANY
AS (R)ASC (R)ASCII
ASENSITIVE (R)ATAUTHORS
AUTOEXTEND_SIZEAUTO_INCREMENTAVG
AVG_ROW_LENGTHBACKUPBEFORE (R)
BEGINBETWEEN (R)BIGINT (R)
BINARY (R)BINLOGBIT
BLOB (R)BLOCKBOOL
BOOLEANBOTH (R)BTREE
BY (R)BYTECACHE
CALL (R)CASCADE (R)CASCADED
CASE (R)CATALOG_NAMECHAIN
CHANGE (R)CHANGEDCHAR (R)
CHARACTER (R)CHARSETCHECK (R)
CHECKSUMCIPHERCLASS_ORIGIN
CLIENTCLOSECOALESCE
CODECOLLATE (R)COLLATION
COLUMN (R)COLUMNSCOLUMN_NAME
COMMENTCOMMITCOMMITTED
COMPACTCOMPLETIONCOMPRESSED
CONCURRENTCONDITION (R)CONNECTION
CONSISTENTCONSTRAINT (R)CONSTRAINT_CATALOG
CONSTRAINT_NAMECONSTRAINT_SCHEMACONTAINS
CONTEXTCONTINUE (R)CONTRIBUTORS
CONVERT (R)CPUCREATE (R)
CROSS (R)CUBECURRENT_DATE (R)
CURRENT_TIME (R)CURRENT_TIMESTAMP (R)CURRENT_USER (R)
CURSOR (R)CURSOR_NAMEDATA
DATABASE (R)DATABASES (R)DATAFILE
DATEDATETIMEDAY
DAY_HOUR (R)DAY_MICROSECOND (R)DAY_MINUTE (R)
DAY_SECOND (R)DEALLOCATEDEC (R)
DECIMAL (R)DECLARE (R)DEFAULT (R)
DEFINERDELAYED (R)DELAY_KEY_WRITE
DELETE (R)DESC (R)DESCRIBE (R)
DES_KEY_FILEDETERMINISTIC (R)DIRECTORY
DISABLEDISCARDDISK
DISTINCT (R)DISTINCTROW (R)DIV (R)
DODOUBLE (R)DROP (R)
DUAL (R)DUMPFILEDUPLICATE
DYNAMICEACH (R)ELSE (R)
ELSEIF (R)ENABLEENCLOSED (R)
ENDENDSENGINE
ENGINESENUMERROR[a]
ERRORSESCAPEESCAPED (R)
EVENTEVENTSEVERY
EXECUTEEXISTS (R)EXIT (R)
EXPANSIONEXPLAIN (R)EXTENDED
EXTENT_SIZEFALSE (R)FAST
FAULTSFETCH (R)FIELDS
FILEFIRSTFIXED
FLOAT (R)FLOAT4 (R)FLOAT8 (R)
FLUSHFOR (R)FORCE (R)
FOREIGN (R)FOUNDFRAC_SECOND[b]
FROM (R)FULLFULLTEXT (R)
FUNCTIONGENERAL[c]GEOMETRY
GEOMETRYCOLLECTIONGET_FORMATGLOBAL
GRANT (R)GRANTSGROUP (R)
HANDLERHASHHAVING (R)
HELPHIGH_PRIORITY (R)HOST
HOSTSHOURHOUR_MICROSECOND (R)
HOUR_MINUTE (R)HOUR_SECOND (R)IDENTIFIED
IF (R)IGNORE (R)IGNORE_SERVER_IDS[d]
IMPORTIN (R)INDEX (R)
INDEXESINFILE (R)INITIAL_SIZE
INNER (R)INNOBASE[e]INNODB[f]
INOUT (R)INSENSITIVE (R)INSERT (R)
INSERT_METHODINSTALLINT (R)
INT1 (R)INT2 (R)INT3 (R)
INT4 (R)INT8 (R)INTEGER (R)
INTERVAL (R)INTO (R)INVOKER
IOIO_THREADIPC
IS (R)ISOLATIONISSUER
ITERATE (R)JOIN (R)KEY (R)
KEYS (R)KEY_BLOCK_SIZEKILL (R)
LANGUAGELASTLEADING (R)
LEAVE (R)LEAVESLEFT (R)
LESSLEVELLIKE (R)
LIMIT (R)LINEAR (R)LINES (R)
LINESTRINGLISTLOAD (R)
LOCALLOCALTIME (R)LOCALTIMESTAMP (R)
LOCK (R)LOCKSLOGFILE
LOGSLONG (R)LONGBLOB (R)
LONGTEXT (R)LOOP (R)LOW_PRIORITY (R)
MASTERMASTER_CONNECT_RETRYMASTER_HEARTBEAT_PERIOD[g]
MASTER_HOSTMASTER_LOG_FILEMASTER_LOG_POS
MASTER_PASSWORDMASTER_PORTMASTER_SERVER_ID
MASTER_SSLMASTER_SSL_CAMASTER_SSL_CAPATH
MASTER_SSL_CERTMASTER_SSL_CIPHERMASTER_SSL_KEY
MASTER_SSL_VERIFY_SERVER_CERT (R)MASTER_USERMATCH (R)
MAXVALUE (R)MAX_CONNECTIONS_PER_HOURMAX_QUERIES_PER_HOUR
MAX_ROWSMAX_SIZEMAX_UPDATES_PER_HOUR
MAX_USER_CONNECTIONSMEDIUMMEDIUMBLOB (R)
MEDIUMINT (R)MEDIUMTEXT (R)MEMORY
MERGEMESSAGE_TEXTMICROSECOND
MIDDLEINT (R)MIGRATEMINUTE
MINUTE_MICROSECOND (R)MINUTE_SECOND (R)MIN_ROWS
MOD (R)MODEMODIFIES (R)
MODIFYMONTHMULTILINESTRING
MULTIPOINTMULTIPOLYGONMUTEX
MYSQL_ERRNONAMENAMES
NATIONALNATURAL (R)NCHAR
NDBNDBCLUSTERNEW
NEXTNONODEGROUP
NONENOT (R)NO_WAIT
NO_WRITE_TO_BINLOG (R)NULL (R)NUMERIC (R)
NVARCHAROFFSETOLD_PASSWORD
ON (R)ONEONE_SHOT
OPENOPTIMIZE (R)OPTION (R)
OPTIONALLY (R)OPTIONSOR (R)
ORDER (R)OUT (R)OUTER (R)
OUTFILE (R)OWNERPACK_KEYS
PAGEPARSERPARTIAL
PARTITIONPARTITIONINGPARTITIONS
PASSWORDPHASEPLUGIN
PLUGINSPOINTPOLYGON
PORTPRECISION (R)PREPARE
PRESERVEPREVPRIMARY (R)
PRIVILEGESPROCEDURE (R)PROCESSLIST
PROFILEPROFILESPROXY[h]
PURGE (R)QUARTERQUERY
QUICKRANGE (R)READ (R)
READS (R)READ_ONLYREAD_WRITE (R)
REAL (R)REBUILDRECOVER
REDOFILEREDO_BUFFER_SIZEREDUNDANT
REFERENCES (R)REGEXP (R)RELAY[i]
RELAYLOGRELAY_LOG_FILERELAY_LOG_POS
RELAY_THREADRELEASE (R)RELOAD
REMOVERENAME (R)REORGANIZE
REPAIRREPEAT (R)REPEATABLE
REPLACE (R)REPLICATIONREQUIRE (R)
RESETRESIGNAL (R)RESTORE
RESTRICT (R)RESUMERETURN (R)
RETURNSREVOKE (R)RIGHT (R)
RLIKE (R)ROLLBACKROLLUP
ROUTINEROWROWS
ROW_FORMATRTREESAVEPOINT
SCHEDULESCHEMA (R)SCHEMAS (R)
SCHEMA_NAMESECONDSECOND_MICROSECOND (R)
SECURITYSELECT (R)SENSITIVE (R)
SEPARATOR (R)SERIALSERIALIZABLE
SERVERSESSIONSET (R)
SHARESHOW (R)SHUTDOWN
SIGNAL (R)SIGNEDSIMPLE
SLAVESLOW[j]SMALLINT (R)
SNAPSHOTSOCKETSOME
SONAMESOUNDSSOURCE
SPATIAL (R)SPECIFIC (R)SQL (R)
SQLEXCEPTION (R)SQLSTATE (R)SQLWARNING (R)
SQL_BIG_RESULT (R)SQL_BUFFER_RESULTSQL_CACHE
SQL_CALC_FOUND_ROWS (R)SQL_NO_CACHESQL_SMALL_RESULT (R)
SQL_THREADSQL_TSI_DAYSQL_TSI_FRAC_SECOND[k]
SQL_TSI_HOURSQL_TSI_MINUTESQL_TSI_MONTH
SQL_TSI_QUARTERSQL_TSI_SECONDSQL_TSI_WEEK
SQL_TSI_YEARSSL (R)START
STARTING (R)STARTSSTATUS
STOPSTORAGESTRAIGHT_JOIN (R)
STRINGSUBCLASS_ORIGINSUBJECT
SUBPARTITIONSUBPARTITIONSSUPER
SUSPENDSWAPSSWITCHES
TABLE (R)TABLESTABLESPACE
TABLE_CHECKSUMTABLE_NAMETEMPORARY
TEMPTABLETERMINATED (R)TEXT
THANTHEN (R)TIME
TIMESTAMPTIMESTAMPADDTIMESTAMPDIFF
TINYBLOB (R)TINYINT (R)TINYTEXT (R)
TO (R)TRAILING (R)TRANSACTION
TRIGGER (R)TRIGGERSTRUE (R)
TRUNCATETYPETYPES
UNCOMMITTEDUNDEFINEDUNDO (R)
UNDOFILEUNDO_BUFFER_SIZEUNICODE
UNINSTALLUNION (R)UNIQUE (R)
UNKNOWNUNLOCK (R)UNSIGNED (R)
UNTILUPDATE (R)UPGRADE
USAGE (R)USE (R)USER
USER_RESOURCESUSE_FRMUSING (R)
UTC_DATE (R)UTC_TIME (R)UTC_TIMESTAMP (R)
VALUEVALUES (R)VARBINARY (R)
VARCHAR (R)VARCHARACTER (R)VARIABLES
VARYING (R)VIEWWAIT
WARNINGSWEEKWHEN (R)
WHERE (R)WHILE (R)WITH (R)
WORKWRAPPERWRITE (R)
X509XAXML
XOR (R)YEARYEAR_MONTH (R)
ZEROFILL (R)  

[a] ERROR: added in 5.5.3 (nonreserved)

[b] FRAC_SECOND: removed in 5.5.3

[c] GENERAL: added in 5.5.3 (reserved); became nonreserved in 5.5.8

[d] IGNORE_SERVER_IDS: became nonreserved in 5.5.8

[e] INNOBASE: removed in 5.5.3

[f] INNODB: removed in 5.5.3

[g] MASTER_HEARTBEAT_PERIOD: became nonreserved in 5.5.8

[h] PROXY: added in 5.5.7 (nonreserved)

[i] RELAY: added in 5.5.3 (nonreserved)

[j] SLOW: added in 5.5.3 (reserved); became nonreserved in 5.5.8

[k] SQL_TSI_FRAC_SECOND: removed in 5.5.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值