`
tjuking
  • 浏览: 193755 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据库字段名和数据库关键字冲突

阅读更多

 

没有什么技术可言,自己为难自己的‘bug’!


之前设计了一个数据库,其中某表中包含字段‘desc’(当时想的是description的简写)。

 

没想到在后来的java代码中始终无法为该表添加记录或者是更新记录,由于其它表使用该java代码是没有问题的,自己就懵了无法理解。。。

 

今天晚上做了一个尝试,就是一个一个字段的添加,最后发现只要添加的字段里包含了‘desc’就会报错,然后仔细一想desc是数据库逆序的关键字,改成‘description’OK了。


基础不扎实,从网上找了mysql的关键字,下次设计数据库的时候就不会忘了!

 

以下转自http://zhaozhi-1983.iteye.com/blog/159044

 

 

 

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

3
0
分享到:
评论
1 楼 远方的彪 2016-10-31  
我也碰到如此问题,

相关推荐

    oracle关键字作为字段名使用方法

    有时我们在定义字段名及别名时所用名与oracle关键字同名,这时该如何处理呢? 其实很简单,只要在此关键字加上””,如”group” 看下面的例子: 代码如下: SQL> DROP TABLE k; Table dropped — 建立表K,字段名为...

    mybatis中使用oracle关键字出错的解决方法

    主要给大家介绍了关于mybatis中使用oracle关键字出错的解决方法,文中通过示例代码将解决的方法介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    SQL数据库设计命名规范.pdf

    数据库设计规范 数据库中不论是表名还是字段名,都一律用英文,不准出现其它语言; 为了不增加数据库当中的表名的长度, 一般不允许出现如 Form 或者 Table 的字样, 如:记录表:应为 Record,而不是 RecordTable ...

    mysql数据库设计-习题.doc

    2."为哪些表,在哪些字段上,建立什么样的索引"这一设计内容应该属于数据库( )阶段。 3.在设计分E- R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以 各个分E-R图之间难免有不...

    SQLServer数据库设计规范.txt

    1.3 小心保留词 要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突,比如,写的一个ODBC 连接程序里有个表,其中就用了DESC 作为说明字段名。后果可想而知!DESC 是DESCENDING 缩写后的保留词。表里的...

    oracle数据库经典题目

    数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状态、访问权限和操作权限等属性。模式是一系列逻辑数据结构或对象的集合,是数据库中对象的组织和管理单位。 2. 简要游标的作用和...

    Sqlite Developer(SQL管理工具) v3.9.7 简体中文版.zip

    表,字段名自动完成;自动SQL语法错误提示;支持Unicode。 SQL代码格式化器 支持ANSI,UTF8和UTF16数据编辑. 可定制的数据类型映射 可执行分号分割的多条SQL语句. SQL执行监视器. 可视化查询设计器. 可视化表...

    ORACLE9i_优化设计与系统调整

    §10.3.2 相互产生运算的数字型字段长度和精度要一致 114 §10.3.2 不要为了节省空间而将字段的长度缩小或拆开 115 §10.4 将LOB类型的字段与其它的类型分开 115 §10.5 采用具有编码的设计方法 115 §10.6 建立公共...

    用sql命令修改数据表中的一个字段为非空(not null)的语句

    table1 表名 name 字段名 为什么加上[],因为name是sql关键字会冲突出现错误,这样以防万一。如果name字段已经创建了索引,如果需要修改的话,必须先删除索引才能正确的进行。 您可能感兴趣的文章:sql server建库...

    Access+2000中文版高级编程

    6.6.2 使用字段和索引创建新表 133 6.6.3 通过加入索引来修改现有表 136 6.7 小 结 136 第7章 使用VBA处理Access中的错误 138 7.1 Access中的错误消息 138 7.2 使用错误处理程序的不同方法 139 7.3 ...

    Access 2000中文版高级编程(part1)

    6.6.2 使用字段和索引创建新表 133 6.6.3 通过加入索引来修改现有表 136 6.7 小 结 136 第7章 使用VBA处理Access中的错误 138 7.1 Access中的错误消息 138 7.2 使用错误处理程序的不同方法 139 7.3 Access运行...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word... [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) REFERENCES tablename(column1,column2,…..column...

    asp.net知识库

    DbHelperV2 - Teddy的通用数据库访问组件设计和思考 也论该不该在项目中使用存储过程代替SQL语句 如何使数据库中的表更有弹性,更易于扩展 存储过程——天使还是魔鬼 如何获取MSSQLServer,Oracel,Access中的数据字典...

    正则表达式

    (x) 匹配x保存x在名为$1...$9的变量中 x|y 匹配x或y {n} 精确匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符) [^xyz] 不匹配这个集合中的任何一个...

    Python基础教程(第3版)-201802出版-文字版

    43 3.3.1 替换字段名 .................................. 43 3.3.2 基本转换 ...................................... 44 3.3.3 宽度、精度和千位分隔符 ........... 45 3.3.4 符号、对齐和用 0 填充 ...............

Global site tag (gtag.js) - Google Analytics