数据库是MySQL,其中一个表中有个名为desc的字段,即描述(description)。开发时model层采用了jpa的注解配置,结果导致JDBC操作一直报异常。究其原因是字段desc是MySQL数据库的保留字,即按降序排列以及描述表。以后建表时“描述”字段建议用全称,其余字段也建议规避使用可能的关键字和保留字作为字段名。
解决方案:
1.修改字段名
2.注解修改如下:
@Column(name = "`desc`")
public String getDesc() {
return this.desc;
}
注意desc外面加的不是单引号,而是键盘左上角数字键1前的那个键。
以下来自MySQL 5.1参考手册
http://dev.mysql.com/doc/refman/5.1/zh/language-structure.html
尝试使用一个识别符,例如使用嵌入式MySQL
数据类型或函数名作为表名或列名,例如TIMESTAMP
或GROUP
,会造成一个常见问题。允许你这样操作(
例如,ABS
可以作为一个列名)
。但是,默认情况下,在数调用中在函数名和后面的‘(
’字符之间不允许有空格。该要求使函数调用与列名引用不同。
该行为的不利结果是在某些上下文中省略一个空格会使识别符解释为函数名。例如,该语句合法:
mysql>
CREATE TABLE abs (val INT)
;
但省略abs
后面的空格会造成语法错误,因为省略后该语句好像要调用ABS()
函数:
mysql>
CREATE TABLE abs(val INT);
如果SQL
服务器模式包括IGNORE_SPACE
模式值,服务器允许函数调用时在函数名和后面的‘(
’字符之间有空格。这样使函数名被视为保留字。结果是,与函数名相同的识别符必须按照9.2节,“数据库、表、索引、列和别名”
中所描述的引起来。SQL
服务器模式按照5.3.2节,“SQL服务器模式”
中所描述的进行控制。
限定名中句点后面的字必须为一个识别符,因此不需要将它引起来,即使它是一个保留字。
在MySQL
中,下表中的字显式被保留。其中大多数字进制被标准SQL
用作列名和/
或表名(
例如,GROUP
)
。少数被保留了,因为MySQL
需要它们,(
目前)
使用yacc
解析程序。保留字被引起来后可以用作识别符。
ADD |
ALL |
ALTER |
ANALYZE |
AND |
AS |
ASC |
ASENSITIVE |
BEFORE |
BETWEEN |
BIGINT |
BINARY |
BLOB |
BOTH |
BY |
CALL |
CASCADE |
CASE |
CHANGE |
CHAR |
CHARACTER |
CHECK |
COLLATE |
COLUMN |
CONDITION |
CONNECTION |
CONSTRAINT |
CONTINUE |
CONVERT |
CREATE |
CROSS |
CURRENT_DATE |
CURRENT_TIME |
CURRENT_TIMESTAMP |
CURRENT_USER |
CURSOR |
DATABASE |
DATABASES |
DAY_HOUR |
DAY_MICROSECOND |
DAY_MINUTE |
DAY_SECOND |
DEC |
DECIMAL |
DECLARE |
DEFAULT |
DELAYED |
DELETE |
DESC |
DESCRIBE |
DETERMINISTIC |
DISTINCT |
DISTINCTROW |
DIV |
DOUBLE |
DROP |
DUAL |
EACH |
ELSE |
ELSEIF |
ENCLOSED |
ESCAPED |
EXISTS |
EXIT |
EXPLAIN |
FALSE |
FETCH |
FLOAT |
FLOAT4 |
FLOAT8 |
FOR |
FORCE |
FOREIGN |
FROM |
FULLTEXT |
GOTO |
GRANT |
GROUP |
HAVING |
HIGH_PRIORITY |
HOUR_MICROSECOND |
HOUR_MINUTE |
HOUR_SECOND |
IF |
IGNORE |
IN |
INDEX |
INFILE |
INNER |
INOUT |
INSENSITIVE |
INSERT |
INT |
INT1 |
INT2 |
INT3 |
INT4 |
INT8 |
INTEGER |
INTERVAL |
INTO |
IS |
ITERATE |
JOIN |
KEY |
KEYS |
KILL |
LABEL |
LEADING |
LEAVE |
LEFT |
LIKE |
LIMIT |
LINEAR |
LINES |
LOAD |
LOCALTIME |
LOCALTIMESTAMP |
LOCK |
LONG |
LONGBLOB |
LONGTEXT |
LOOP |
LOW_PRIORITY |
MATCH |
MEDIUMBLOB |
MEDIUMINT |
MEDIUMTEXT |
MIDDLEINT |
MINUTE_MICROSECOND |
MINUTE_SECOND |
MOD |
MODIFIES |
NATURAL |
NOT |
NO_WRITE_TO_BINLOG |
NULL |
NUMERIC |
ON |
OPTIMIZE |
OPTION |
OPTIONALLY |
OR |
ORDER |
OUT |
OUTER |
OUTFILE |
PRECISION |
PRIMARY |
PROCEDURE |
PURGE |
RAID0 |
RANGE |
READ |
READS |
REAL |
REFERENCES |
REGEXP |
RELEASE |
RENAME |
REPEAT |
REPLACE |
REQUIRE |
RESTRICT |
RETURN |
REVOKE |
RIGHT |
RLIKE |
SCHEMA |
SCHEMAS |
SECOND_MICROSECOND |
SELECT |
SENSITIVE |
SEPARATOR |
SET |
SHOW |
SMALLINT |
SPATIAL |
SPECIFIC |
SQL |
SQLEXCEPTION |
SQLSTATE |
SQLWARNING |
SQL_BIG_RESULT |
SQL_CALC_FOUND_ROWS |
SQL_SMALL_RESULT |
SSL |
STARTING |
STRAIGHT_JOIN |
TABLE |
TERMINATED |
THEN |
TINYBLOB |
TINYINT |
TINYTEXT |
TO |
TRAILING |
TRIGGER |
TRUE |
UNDO |
UNION |
UNIQUE |
UNLOCK |
UNSIGNED |
UPDATE |
USAGE |
USE |
USING |
UTC_DATE |
UTC_TIME |
UTC_TIMESTAMP |
VALUES |
VARBINARY |
VARCHAR |
VARCHARACTER |
VARYING |
WHEN |
WHERE |
WHILE |
WITH |
WRITE |
X509 |
XOR |
YEAR_MONTH |
ZEROFILL |
MySQL
允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。下面列出了一些例子:
-
ACTION
-
BIT
-
DATE
-
ENUM
-
NO
-
TEXT
-
TIME
-
TIMESTAMP
分享到:
相关推荐
这是万恶之源网安基地站长开发的万恶之源135抓鸡工具极速版的升级版
万恶的Blogbus教程免费版
斯蒂芬告诉对方告诉对方告诉对方告诉对方的方式告诉对方公司法
万恶的斐波那契.exe
万恶的前端内存泄漏及万善的解决方案详解.docx
万恶的凯撒加密古罗马的凯撒大帝发明了世界上最早的数学加密方法,“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。凯撒加密是最简单的加密方式,加密的双方
万恶的音乐符号超帆为了帮森森获得森森喜欢女孩子的星座,已经三星期没吃饭了,森森哼了一段曲子,并说如果你猜的出来这曲子是什么意思,我就请你吃饭!音符如下:§‖§‖
DonaldKnuth说“过早优化是万恶之源”(prematureoptimizationistherootofallevil)。这话也许有些夸张,但“过早优化”的危害我觉得不能忽视。 让正确的程序更快比让快速的程序正确要容易太多,太多。所以,缺省...
全国大学生电子设计竞赛(National Undergraduate Electronics Design Contest),试题,解决方案及源码。计划或参加电赛的同学可以用来学习提升和参考。程序均是实战案例,经过测试可直接运行。...
《万恶迷糊尤物》第三技:笑看混战人1000字.docx
发生地方随碟附送地方
玩儿玩儿万恶人恶趣味而且维尔萨芬撒大幅撒大幅
SSM框架配置 底层配置万用模板(x)万恶之源(√) 自己手撸的SSM配置pwp方便自己也方便大家 如果有什么错误请联系我BedivereAlter@gmail.com
一款去点软件广告的补丁,希望对大家有用! 也希望大家支持我一下,首次发帖子!后面会有更好的!
一些不经常用的功能,希望有能帮助大家的地方
因为工作中有人喜欢在,前面加空格,还有人喜欢吧tab搞得到处都是,所以写了一个这个文件,用来删除行尾的tab与奇怪的空格
文件中是远程调试用到的文件,调试方法如下: 1. 拷贝《vs2003远程调试文件》文件夹到目标机器任意位置 2. 运行StartMsvcmon.bat批处理 3. 保证需要调试的进程已经启动,同时在执行文件下有相应的pdb文件 ...
代码已经封装为C++类的方式。内存共享分为服务端和客户端,服务端写入数据,客户端读取数据,服务端和客户端通过使用相同的名字,来确认配对。 下载只需要1积分,如果发现多于1积分,请留言我重新上传资源。
javascript中万恶的function实例分析,学习js的朋友可以参考下。
linux dns slave服务器无法正常获取master上的信息