在SQLite中转义附加数据库的表名?

时间:2016-02-17 21:00:21

标签: database sqlite escaping

根据this answer,您可以通过在其周围加上双引号来转义表名。 SQLite documentation进一步指出括号和后退也可以与其他系统兼容。

这适用于当前数据库中的表,但是,当我尝试在附加数据库上执行此操作时,我收到错误:

ATTACH db2 AS x; SELECT * FROM "x.table1";

产生错误:

no such table: x.table1

如果我删除“x”。并直接在数据库db2上运行查询,它可以工作。

那么当表名是附加数据库的一部分时,如何将表名转义?

我尝试过括号和反引号,我也尝试过只引用表名而不是“x”。部分,例如以下所有内容:

ATTACH db2 AS x; SELECT * FROM `x.table1`;
ATTACH db2 AS x; SELECT * FROM [x.table1];
ATTACH db2 AS x; SELECT * FROM x."table1";
ATTACH db2 AS x; SELECT * FROM x.`table1`;
ATTACH db2 AS x; SELECT * FROM x.[table1];

这些都不起作用。

1 个答案:

答案 0 :(得分:1)

适合我:

select * from "x"."table1";