我无法从以“ @”开头的表格中选择(火鸟)

问题描述 投票:1回答:1

我正在使用FDB模块使用Python从firebird数据库中获取数据。我正在尝试从名为@TABLE_NAME的表中获取数据,我的主意不是在表名的前面加上“ @”,但这使执行语句变得不可能。当我尝试从普通表中获取数据时,一切正常。此命令:

cur.execute("SELECT * FROM @TABLE_NAME")

返回此错误:

fdb.fbcore.DatabaseError: ('Error while preparing SQL statement:\n- SQLCODE: -104\n- Dynamic SQL Error\n- SQL error code = -104\n- Token unknown - line 1, column 15\n- @', -104, 335544569)

我不知道该怎么办,我会提供一些帮助。

python firebird fdb
1个回答
0
投票
Firebird SQL Server中的

“常规标识符”中不能包含@符号。

使用SQL Dialect 3,您可以用引号引起来的不规则标识符。但是您必须检查您是否正在使用它。诚然,方言1已经过时了,如今,任何合理的程序在创建和连接到Firebird数据库时都会设置Deialect 3。但是您将更安全地进行检查。

您可以通过select MON$SQL_DIALECT from MON$DATABASE检查该数据库属性

© www.soinside.com 2019 - 2024. All rights reserved.