【发布时间】:2021-09-07 12:38:29
【问题描述】:
如何查询带有关键字名称的列?
我创建了一个表,其中有一个名为 true 的列。选择 true 列时出现错误。
select true from t
错误是:
Syntax Error: [line #1] A table column [1] must be assigned a valid name
如何查询name为true的列?
【问题讨论】:
如何查询带有关键字名称的列?
我创建了一个表,其中有一个名为 true 的列。选择 true 列时出现错误。
select true from t
错误是:
Syntax Error: [line #1] A table column [1] must be assigned a valid name
如何查询name为true的列?
【问题讨论】:
可以使用sql函数查询,代码如下:
sql(sqlCol("true"), t).eval()
【讨论】:
正如它所说,你不能有一个名为“true”的列,因为它是一个私有 SQL 关键字
【讨论】:
在 SQL 中,true 是保留关键字。您可以根据数据库引擎找到这些列表。例如,像from、select 或where 一样,如果您有一个以这些名称之一命名的表,那就没有意义了。您的查询可能如下所示:
select column_name(s)
from where;
SQL 认为您遗漏了表名并直接进入 where 子句。建议选择非关键字的列名和表名。但是,如果这样做,您只需将名称放在反引号中即可。
select `true` from t;
【讨论】: