`

Sql 表名 与关键字(保留字)冲突

sql 
阅读更多

在用SQL创建数据库的表时,很多时候对于系统自带的关键字不是很在意,这意味着档我们创建表的时候,不太会在意一些潜在问题:
比如 我想建一个用户表User 可是创建的时候,不通过,对于想建Group表 我也遇到同样的问题(像order,identity等等)。
我遇到过好多次,每次都是想当然写表名,结果等想到原来是这个问题的时候,倒(很浪费时间,这之前遇到过啊!)。
解决办法:我是修改表名。
一些网上搜到的办法:
为了避免与系统保留字或系统内置系统表名冲突
一般表明要加上[]
比如; user表
一般sql查询是加 [user] 否则出错:与系统内置表名冲突(我没有测试)。
所以我们在命名表的时候要注意到他,否则后果比较麻烦。
下面这此词都是T-SQL语句中的关键字,在你写SQL语句,存储过程,触发器或字段命名等时要避免使用这些词。
这要求命名表要规范:
表命名要遵循以下原则:
l 采用“系统名+_+t_+模块名+_+表义名”格式构成。
l 若数据库中只含有单个模块,命名可采用“系统名+t_+表义名”格式构成。
l 整个表名的长度不要超过30个字符。
l 系统名、模块名均采用小写字符。
l 模块名或表义名均以其英文单词命名,且字符间不加分割符;表义名中单词的首字符大写,其它字符小写,多个单词间也不加任何分割符,单词全部采用单数形式。
l 表别名命名规则:取表义名的前3个字符加最后一个字符。如果存在冲突,适当增加字符(如取表义名的前4个字符加最后一个字符等)。
l 关联表命名为Re_表A_表B,Re 是Relative的缩写,表A 和表B均采用其表义名或缩写形式。
这样会避免与关键字冲突,将麻烦降到最低。

分享到:
评论

相关推荐

    MySQL 5.7中的关键字与保留字详解

    在MySQL 5.7中,了解关键字和保留字对于...总之,理解MySQL 5.7中的关键字和保留字规则,能帮助开发者编写出更有效、更易于维护的SQL代码,避免因关键字冲突导致的语法错误,并且有助于保持数据库结构的清晰和规范。

    SQL Server 2005中的保留字

    为了确保SQL语句的有效性和规范性,SQL Server 2005定义了一系列关键词(也称为保留字),这些关键词在SQL查询和命令中具有特定的含义,不能用作表名、列名或变量名等标识符,除非将其用引号括起来。 以下是对SQL ...

    ASP常见的保留字整理(变量与表名注意不能用)

    这样可以确保SQL解析器正确理解引用的是一个表名,而不是试图执行保留字的特殊功能。 在ASP中使用保留字作为变量或表名的一个常见错误可能会导致语法错误,导致程序无法执行。如果你在编写程序时遇到了错误,而程序...

    MySQL中字段名和保留字冲突的解决办法

    当字段名与这些保留字冲突时,我们需要采取特定的方法来解决这个问题。 解决字段名与保留字冲突的方法是使用反引号(`),也称为格栅符或尖括号。反引号是位于键盘数字1键上方的字符。当我们在SQL语句中用反引号将...

    达梦SQL语言使用手册

    保留字是SQL语言中具有特定含义的关键字,不能用作用户自定义的表名、列名等。标识符则用于定义这些用户自定义的元素。在达梦中,标识符可能需要遵循一定的命名规则,并且要注意与保留字的区别,避免冲突。 1. DM_...

    验证SQL保留字

    验证SQL保留字是确保你的SQL语句不会与这些预留的关键词冲突的重要步骤。 以下是一些常见的SQL保留字,这些保留字在不同的SQL方言(如MySQL、SQL Server、Oracle等)中可能略有不同: 1. **SELECT**:用于从表中...

    ASP技术常遇问题解答-ODBC的保留字有哪些?.zip

    在编写ASP代码与ODBC数据库交互时,应避免在字段名、变量名或自定义函数中使用这些保留字,以免冲突。如果必须使用,可以采用反引号(`)或双引号("")将它们包围,以表明它们是标识符而非SQL关键字。 例如,在ASP...

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

    例如,如果我们的表名或列名是Oracle的关键字,例如"DATE"、"USER"等,这些关键字可能会与MyBatis的SQL语句冲突,从而导致错误。 解决方法 为了解决这个问题,我们可以使用MyBatis的resultMap来处理oracle关键字。...

    模拟SQL Builder创建SQL语句的关键技术.pdf

    例如,当遇到 SQL 关键字或保留字时,会用异常处理来包裹可能出错的操作,确保程序的健壮性。 - **泛型设计**:在 C++ Builder 中,泛型允许创建可适应多种类型的容器,如 Vector。在生成 SQL 语句时,泛型设计使得...

    128741

    总的来说,理解和掌握Oracle数据库中的保留字和关键字对于编写有效的SQL语句和避免命名冲突至关重要。通过V$RESERVED_WORDS视图,开发者可以获取这些信息,确保他们的数据库对象命名遵循最佳实践,从而避免潜在的...

    SQL Sever编码规范

    *名称不得与数据库管理系统保留字冲突。 *不要在对象名的字符之间留空格。 2. 数据库名 * 数据库名定义为系统名+模块名,或直接采用系统名。 * 数据库名全部采用小写。 3. 数据库文件 * 数据文件命名采用...

    SQL Server编码规范

    名称必须望文知意,不得与数据库管理系统保留字冲突。 2. 数据库名 数据库名定义为系统名+模块名,或直接采用系统名。数据库名全部采用小写。 3. 数据库文件命名 数据库文件命名采用数据库名+_+文件类型+[文件...

    第03章_基本的SELECT语句1

    4. **命名规则**:对象名(如数据库、表、字段)有长度限制,不应包含空格,避免与保留字冲突。使用`(反引号)包围可能与保留字冲突的名称。 【学习SQL的意义】 掌握SQL对于任何涉及数据处理的职业都是必要的技能...

    SQLServer数据库设计规范.txt

    表名前缀:以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识 表名称 = 表名前缀 + 表内容标识(首字大写) 如ClientInfo相关联的一系的表以ci作为前缀, 即有表名:ciHistory,ciContact,ciBusiness ...

    SQL在Excel中的应用方法.pdf

    同时,一些特定的SQL关键字可能与Excel的内置函数冲突,比如字段名不能为"no",因为它可能是保留字,此时需要用方括号`[]`包围字段名。 当查询的数据源发生变化,可以通过右键点击查询并选择“刷新”来更新数据。...

    sql server 命名规范

    - **避免使用保留关键字**: 避免将数据库的保留关键字用作表名或列名,以免引发语法错误或不必要的混淆。 #### 2. 使用下划线连接 对于由多个单词组成的数据库对象名称,推荐使用下划线(_)进行分隔,以增强...

    Oracle AS关键字 提示错误

    2. 使用明确的别名,避免使用单个字符作为别名,以防与保留字冲突。 3. 在可能的情况下,使用标准SQL语法,以提高代码的移植性。 4. 当遇到兼容性问题时,查阅数据库的官方文档以获取正确的语法和用法。 总的来说,...

    SQL语句.doc学习资料

    例如,使用关键字作为表名、数据库名或字段名时,通常建议使用反引号(`)进行包围,以避免与SQL保留字冲突。在编程中,类常常对应于数据库中的表,而对象则对应于表中的一条记录。 SQL语句大致分为五类: 1. DDL...

    SQL规范

    - **规则说明**:明确保留字和关键字的使用规则,避免与SQL标准冲突。 - **建议实践**:保留字如SELECT、FROM、WHERE等应保持大写,以示区分;而用户自定义的对象名(如表名、字段名)则可以采用小写或驼峰式命名。 ...

Global site tag (gtag.js) - Google Analytics