我有一个名为'test'的表
它包含一个名为“AND”
的列为此,我使用以下查询
insert into test values ('a','abc');
insert into test values ('b','def');
现在我想从'test'表中选择我的'AND'列
查询select AND from test;
无效,因为AND是关键字
我试过
select "AND" from test;
select 'AND' from test;
两个查询都会返回错误的结果,如下所示
如何选择“AND”栏?
答案 0 :(得分:22)
使用backtick
代替转义关键字。就像你创建表格一样。使用双引号或单引号会将其解析为string
,这就是为什么你得到两条and
select `AND` from test;
答案 1 :(得分:3)
请勿创建名称为关键字的列。
如果您确实创建了具有此类名称的列,请使用反引号(仅限MySQL)或双引号(SQL标准)来包含该名称。我不确定你是否需要打开一些机制让双引号在MySQL中运行。这会创建一个“分隔标识符”。
SELECT `AND` AS a, "AND" AS b
FROM test;
另见:
答案 2 :(得分:1)
如果要将保留字用作列,则必须使用保留字列的反引号.....
在你的情况下,你必须这样做:
select `AND' from test;
答案 3 :(得分:1)
这是一个很老的问题并得到了解决。 Read here more
但你仍然可以试试这个:
select your_tablename.column_name from table_name;
您的代码: -
select test.AND from test;
答案 4 :(得分:0)
如果使用“”使用select语句,则选择给定的sting 所以你必须给出一个像列的名字 在mssql中你必须使用
select [AND] from test;
或在mysql语法中从test中选择AND
;
答案 5 :(得分:0)
从你的问题:
CREATE TABLE `test` (
`count` VARCHAR(50) NULL DEFAULT NULL,
`AND` VARCHAR(50) NULL DEFAULT NULL
----^---^ Why do you use `backtick` (`) in CREATE TABLE statement?
)
您需要在backtick
语句中使用SELECT
。
SELECT `AND` FROM test;
-------^---^-----------