最近开发遇到一个很奇葩的问题,简单做一下笔记
select * from Add ...
以上SQL语句会报错。
原因Add是表名,SQL语句保留字中又有Add
解决方法:
select * from [Add] ...
把与保留字相同的表名或者字段名用[ ]括起来,这样就能把SQL语句保留字区分开来。
***知识点***
顺便总结一下SQL语句的保留字
A
ADD
ALL
Alphanumeric - 参阅 TEXT
ALTER
And
ANY
AS
ASC
AUTOINCREMENT - 参阅 COUNTER
Avg
B-C
Between
BINARY
BIT
BOOLEAN - 参阅 BIT
BY
BYTE
CHAR,CHARACTER - 参阅 TEXT
COLUMN
CONSTRAINT
Count
COUNTER
CREATE
CURRENCY
D
DATABASE
DATE - 参阅 DATETIME
DATETIME
DELETE
DESC
DISALLOW
DISTINCT
DISTINCTROW
DOUBLE
DROP
BIT
LONG
LONGBINARY
LONGTEXT
Max
MEMO - 参阅 LONGTEXT
Min
Mod
MONEY - 参阅 CURRENCY
N-P
Not
NULL
NUMBER - 参阅 DOUBLE
NUMERIC - 参阅 DOUBLE
OLEOBJECT - 参阅 LONGBINARY
On
OPTION
Or
ORDER
Outer*
OWNERACCESS
PARAMETERS
PERCENT
PIVOT
PRIMARY
PROCEDURE
Q-S
REAL - 参阅 SINGLE
REFERENCES
RIGHT
SELECT
SET
SHORT
SINGLE
SMALLINT - 参阅 SHORT
SOME
StDev
StDevP
STRING - 参阅 TEXT
Sum
T-Z
TABLE
TableID*
TEXT
TIME - 参阅 DATETIME
TIMESTAMP - 参阅 DATETIME
TOP
TRANSFORM
UNION
UNIQUE
UPDATE
VALUE
VALUES
Var
VARBINARY - 参阅 BINARY
VARCHAR - 参阅 TEXT
VarP
WHERE
WITH
Xor
YESNO - 参阅 BIT
E-H
Eqv
EXISTS
FLOAT,FLOAT8 - 参阅 DOUBLE
FLOAT4 - 参阅 SINGLE
FOREIGN
FROM
GENERAL - 参阅 LONGBINARY
GROUP
GUID
HAVING
I
IEEEDOUBLE - 参阅 DOUBLE
IEEESINGLE - 参阅 SINGLE
IGNORE
Imp
In
IN
INDEX
INNER I
NSERT
INT,INTEGER,INTEGER4 - 参阅 LONG
INTEGER1 - 参阅 BYTE
INTEGER2 - 参阅 SHORT
INTO
Is
J-M
JOIN
KEY
LEFT
Level*
Like
LOGICAL,LOGICAL1 - 参阅
SQL语句表名或者字段名和保留字冲突解决方法的更多相关文章
-
SQL查询表,表的所有字段名,SQL查询表,表的所有字段名
SQL查询表,表的所有字段名 2011-07-29 10:21:43| 分类: SQLServer | 标签:表 sql 字段 |举报 |字号 订阅 SQL查询表,表的所有字段名 SQ ...
-
SQL添加表字段以及SQL查询表,表的所有字段名
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smalli ...
-
sql语句用'in'执行多条语句时候,执行错误的解决方法
一般报错是出现,无法将nvarchar类型转换为int类型 这是因为 SqlParameter 带参数 是不能用 , 分割的. 第一种解决方法就是 不用 SqlParameter 带参数的s ...
-
[转]关于oracle sql语句查询时表名和字段名要加双引号的问题
oracle初学者一般会遇到这个问题. 用navicat可视化创建了表,可是就是不能查到! 后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...
-
SQL语句改动表名和字段名
今天有个暂时任务,改动生产环境的数据库表名和字段名.曾经要改动表名字段名都是在开发环境.直接打开 SQL Server找到相应的表或字段重命名就OK啦,但是这是线上数据库,再想直接F2改动是不可能的啦 ...
-
MyBatis构建sql时动态传入表名以及字段名
今天项目需要用到动态表名,找到这一篇文章,亲测可用 用了mybatis很长一段时间了,但是感觉用的都是比较基本的功能,很多mybatis相对ibatis的新功能都没怎么用过.比如其内置的注解功能之类的 ...
-
SQL Server 2008 R2——根据数据查找表名和字段名 根据脏数据定位表和字段
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
-
SQL 查询所有表名、字段名、类型、长度、存储过程、视图
-- 获得存储过程创建语句 select o.xtype,o.name,cm.text from syscomments cm inner join sysobjects o on o.id=cm.i ...
-
sqlserver查询所有表名、字段名、类型、长度和存储过程、视图的创建语句
-- 获得存储过程创建语句 select o.xtype,o.name,cm.text from syscomments cm inner join sysobjects o on o.id=cm.i ...
随机推荐
-
【C】漫谈C语言随机数
来说说C语言如何产生随机数. 有人会说这不简单?time() + srand() + rand() 3个函数不就OK了吗? 是的,不过,我们还是来看看原理比较好,也就是随机数是如何产生的. 这不无聊. ...
-
#import与@class的区别
转自:http://www.cnblogs.com/jqyp/archive/2012/01/13/2321707.html 1.import会包含这个类的所有信息,包括实体变量和方法,而@class ...
-
hdu 2065 ";红色病毒";问题
指数型母函数的应用 求A B C D 在规定条件下n个元素的排列个数,先写出指数型母函数 G(X) = ( 1 + x + x^2/2! + x^3/3! +... )^2 * ( 1+ x^2/2! ...
-
微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)
原文:微信JS-SDK"分享信息设置"API及数字签名生成方法(NodeJS版本) 先上测试地址以示成功: 用微信打开下面地址测试 http://game.4gshu.com/de ...
-
多线程——i++的坑
在使用socket编程的时候发生数据丢失问题,一直以为是网络原因,后来测试后发现是多线程操作同一数据源又未加入数据锁导致. 直接上代码,下面程序执行的结果可能出现198.199.200.两个线程统一时 ...
-
mac下安装android-sdk
安装sdk brew cask install android-sdk 配置Path环境 vim ~/.bash_profile 设置路径 #Setting PATH for android-sdk ...
-
【hdu6188】Duizi and Shunzi(贪心)
2017ACM/ICPC广西邀请赛 重现赛1007 Duizi and Shunzi 题意 有n张牌,问你最多能组成多少对子+顺子?一个牌只能用在一个顺子或者对子中. 题解 本来想写dp的,不会..小 ...
-
mui框架下监听返回按钮
用于监听mui框架下的Android手机的返回按键(物理键) mui.back = function() { if(b == true) {//一个标识符,在某个状态下不允许双击返回关闭程序 aler ...
-
10.20stark组件已经完工
2018-10-20 19:37:31 stark组件已经做完!基本上和Django的admin一样! 放上github连接:https://github.com/TrueNewBee/pythonD ...
-
shell数组应用
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...