我将现有脚本中的一列拖到我的模板文件中,一切都运行良好。
唯一的问题是,这个脚本有一个名为order
的列,然后每一行都有一个数字在该列中显示哪个应该在顶部等。如果我将我的查询设置为“{{ 1}}“例如,一切正常,但当我使用”ORDER BY name
“时,我得到一个SQL错误。
我可以没有名为ORDER BY order
的列吗?我无法更改列名,因为它是脚本的一部分。
有办法吗?
这是我的SQL查询中的一行:
order
答案 0 :(得分:5)
order
是SQL中的关键字。因此,如果您希望使用关键字作为名称,请在其周围使用反引号字符:
SELECT * FROM categories WHERE hide = 0 ORDER BY `order`
试试:)
答案 1 :(得分:0)
尝试使用反引号:
SELECT * FROM `categories` WHERE `hide` = 0 ORDER BY `order`
ORDER是SQL中的保留字。您可以使用保留字作为列名,但在引用时必须将其包围在反引号中。最好在反引号中包围所有列名,这样就不会遇到这个问题。
答案 2 :(得分:0)
尝试在列名称周围使用后退标记,应该这样做。
答案 3 :(得分:0)
来自manual:
如果您引用保留字,则可以将其用作标识符。
所以你可以像这样使用它:
SELECT * FROM categories WHERE hide = 0 ORDER BY `order`
答案 4 :(得分:0)
AS order
是一个SQL关键字,您应该使用反引号将其作为字段标识符正确转义:
SELECT ... FROM ... ORDER by `order`
答案 5 :(得分:0)
用括号为我工作。 SELECT T. * FROM dbo.test AS T ORDER BY [T]。[ORDER]
答案 6 :(得分:0)
如果您正在使用Postgres,请使用" column_name",例如:
SELECT "order" FROM table_name WHERE "order" > 10 ORDER BY "order";