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

来源:互联网 发布:惧内之滥觞乎 编辑:程序博客网 时间:2024/05/18 06:37

使用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 MySQL5.5

ACCESSIBLE (R)ACTIONADD (R)AFTERAGAINSTAGGREGATEALGORITHMALL (R)ALTER (R)ANALYZE (R)AND (R)ANYAS (R)ASC (R)ASCIIASENSITIVE (R)ATAUTHORSAUTOEXTEND_SIZEAUTO_INCREMENTAVGAVG_ROW_LENGTHBACKUPBEFORE (R)BEGINBETWEEN (R)BIGINT (R)BINARY (R)BINLOGBITBLOB (R)BLOCKBOOLBOOLEANBOTH (R)BTREEBY (R)BYTECACHECALL (R)CASCADE (R)CASCADEDCASE (R)CATALOG_NAMECHAINCHANGE (R)CHANGEDCHAR (R)CHARACTER (R)CHARSETCHECK (R)CHECKSUMCIPHERCLASS_ORIGINCLIENTCLOSECOALESCECODECOLLATE (R)COLLATIONCOLUMN (R)COLUMNSCOLUMN_NAMECOMMENTCOMMITCOMMITTEDCOMPACTCOMPLETIONCOMPRESSEDCONCURRENTCONDITION (R)CONNECTIONCONSISTENTCONSTRAINT (R)CONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMACONTAINSCONTEXTCONTINUE (R)CONTRIBUTORSCONVERT (R)CPUCREATE (R)CROSS (R)CUBECURRENT_DATE (R)CURRENT_TIME (R)CURRENT_TIMESTAMP (R)CURRENT_USER (R)CURSOR (R)CURSOR_NAMEDATADATABASE (R)DATABASES (R)DATAFILEDATEDATETIMEDAYDAY_HOUR (R)DAY_MICROSECOND (R)DAY_MINUTE (R)DAY_SECOND (R)DEALLOCATEDEC (R)DECIMAL (R)DECLARE (R)DEFAULT (R)DEFINERDELAYED (R)DELAY_KEY_WRITEDELETE (R)DESC (R)DESCRIBE (R)DES_KEY_FILEDETERMINISTIC (R)DIRECTORYDISABLEDISCARDDISKDISTINCT (R)DISTINCTROW (R)DIV (R)DODOUBLE (R)DROP (R)DUAL (R)DUMPFILEDUPLICATEDYNAMICEACH (R)ELSE (R)ELSEIF (R)ENABLEENCLOSED (R)ENDENDSENGINEENGINESENUMERROR[a]ERRORSESCAPEESCAPED (R)EVENTEVENTSEVERYEXECUTEEXISTS (R)EXIT (R)EXPANSIONEXPLAIN (R)EXTENDEDEXTENT_SIZEFALSE (R)FASTFAULTSFETCH (R)FIELDSFILEFIRSTFIXEDFLOAT (R)FLOAT4 (R)FLOAT8 (R)FLUSHFOR (R)FORCE (R)FOREIGN (R)FOUNDFRAC_SECOND[b]FROM (R)FULLFULLTEXT (R)FUNCTIONGENERAL[c]GEOMETRYGEOMETRYCOLLECTIONGET_FORMATGLOBALGRANT (R)GRANTSGROUP (R)HANDLERHASHHAVING (R)HELPHIGH_PRIORITY (R)HOSTHOSTSHOURHOUR_MICROSECOND (R)HOUR_MINUTE (R)HOUR_SECOND (R)IDENTIFIEDIF (R)IGNORE (R)IGNORE_SERVER_IDS[d]IMPORTIN (R)INDEX (R)INDEXESINFILE (R)INITIAL_SIZEINNER (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)INVOKERIOIO_THREADIPCIS (R)ISOLATIONISSUERITERATE (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)LOCKSLOGFILELOGSLONG (R)LONGBLOB (R)LONGTEXT (R)LOOP (R)LOW_PRIORITY (R)MASTERMASTER_CONNECT_RETRYMASTER_HEARTBEAT_PERIOD[g]MASTER_HOSTMASTER_LOG_FILEMASTER_LOG_POSMASTER_PASSWORDMASTER_PORTMASTER_SERVER_IDMASTER_SSLMASTER_SSL_CAMASTER_SSL_CAPATHMASTER_SSL_CERTMASTER_SSL_CIPHERMASTER_SSL_KEYMASTER_SSL_VERIFY_SERVER_CERT (R)MASTER_USERMATCH (R)MAXVALUE (R)MAX_CONNECTIONS_PER_HOURMAX_QUERIES_PER_HOURMAX_ROWSMAX_SIZEMAX_UPDATES_PER_HOURMAX_USER_CONNECTIONSMEDIUMMEDIUMBLOB (R)MEDIUMINT (R)MEDIUMTEXT (R)MEMORYMERGEMESSAGE_TEXTMICROSECONDMIDDLEINT (R)MIGRATEMINUTEMINUTE_MICROSECOND (R)MINUTE_SECOND (R)MIN_ROWSMOD (R)MODEMODIFIES (R)MODIFYMONTHMULTILINESTRINGMULTIPOINTMULTIPOLYGONMUTEXMYSQL_ERRNONAMENAMESNATIONALNATURAL (R)NCHARNDBNDBCLUSTERNEWNEXTNONODEGROUPNONENOT (R)NO_WAITNO_WRITE_TO_BINLOG (R)NULL (R)NUMERIC (R)NVARCHAROFFSETOLD_PASSWORDON (R)ONEONE_SHOTOPENOPTIMIZE (R)OPTION (R)OPTIONALLY (R)OPTIONSOR (R)ORDER (R)OUT (R)OUTER (R)OUTFILE (R)OWNERPACK_KEYSPAGEPARSERPARTIALPARTITIONPARTITIONINGPARTITIONSPASSWORDPHASEPLUGINPLUGINSPOINTPOLYGONPORTPRECISION (R)PREPAREPRESERVEPREVPRIMARY (R)PRIVILEGESPROCEDURE (R)PROCESSLISTPROFILEPROFILESPROXY[h]PURGE (R)QUARTERQUERYQUICKRANGE (R)READ (R)READS (R)READ_ONLYREAD_WRITE (R)REAL (R)REBUILDRECOVERREDOFILEREDO_BUFFER_SIZEREDUNDANTREFERENCES (R)REGEXP (R)RELAY[i]RELAYLOGRELAY_LOG_FILERELAY_LOG_POSRELAY_THREADRELEASE (R)RELOADREMOVERENAME (R)REORGANIZEREPAIRREPEAT (R)REPEATABLEREPLACE (R)REPLICATIONREQUIRE (R)RESETRESIGNAL (R)RESTORERESTRICT (R)RESUMERETURN (R)RETURNSREVOKE (R)RIGHT (R)RLIKE (R)ROLLBACKROLLUPROUTINEROWROWSROW_FORMATRTREESAVEPOINTSCHEDULESCHEMA (R)SCHEMAS (R)SCHEMA_NAMESECONDSECOND_MICROSECOND (R)SECURITYSELECT (R)SENSITIVE (R)SEPARATOR (R)SERIALSERIALIZABLESERVERSESSIONSET (R)SHARESHOW (R)SHUTDOWNSIGNAL (R)SIGNEDSIMPLESLAVESLOW[j]SMALLINT (R)SNAPSHOTSOCKETSOMESONAMESOUNDSSOURCESPATIAL (R)SPECIFIC (R)SQL (R)SQLEXCEPTION (R)SQLSTATE (R)SQLWARNING (R)SQL_BIG_RESULT (R)SQL_BUFFER_RESULTSQL_CACHESQL_CALC_FOUND_ROWS (R)SQL_NO_CACHESQL_SMALL_RESULT (R)SQL_THREADSQL_TSI_DAYSQL_TSI_FRAC_SECOND[k]SQL_TSI_HOURSQL_TSI_MINUTESQL_TSI_MONTHSQL_TSI_QUARTERSQL_TSI_SECONDSQL_TSI_WEEKSQL_TSI_YEARSSL (R)STARTSTARTING (R)STARTSSTATUSSTOPSTORAGESTRAIGHT_JOIN (R)STRINGSUBCLASS_ORIGINSUBJECTSUBPARTITIONSUBPARTITIONSSUPERSUSPENDSWAPSSWITCHESTABLE (R)TABLESTABLESPACETABLE_CHECKSUMTABLE_NAMETEMPORARYTEMPTABLETERMINATED (R)TEXTTHANTHEN (R)TIMETIMESTAMPTIMESTAMPADDTIMESTAMPDIFFTINYBLOB (R)TINYINT (R)TINYTEXT (R)TO (R)TRAILING (R)TRANSACTIONTRIGGER (R)TRIGGERSTRUE (R)TRUNCATETYPETYPESUNCOMMITTEDUNDEFINEDUNDO (R)UNDOFILEUNDO_BUFFER_SIZEUNICODEUNINSTALLUNION (R)UNIQUE (R)UNKNOWNUNLOCK (R)UNSIGNED (R)UNTILUPDATE (R)UPGRADEUSAGE (R)USE (R)USERUSER_RESOURCESUSE_FRMUSING (R)UTC_DATE (R)UTC_TIME (R)UTC_TIMESTAMP (R)VALUEVALUES (R)VARBINARY (R)VARCHAR (R)VARCHARACTER (R)VARIABLESVARYING (R)VIEWWAITWARNINGSWEEKWHEN (R)WHERE (R)WHILE (R)WITH (R)WORKWRAPPERWRITE (R)X509XAXMLXOR (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

阅读全文
0 0