根据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];
这些都不起作用。
答案 0 :(得分:1)
适合我:
select * from "x"."table1";