在 SQLite 中转义附加数据库的 table 名称?
Escape table name of attached database in SQLite?
根据 , you can escape a table name by putting double-quotes around it. The SQLite documentation 的进一步说明,括号和反引号也可以与其他系统兼容。
这适用于当前数据库中的 tables,但是,当我尝试在附加数据库上执行此操作时,出现错误:
ATTACH db2 AS x; SELECT * FROM "x.table1";
产生错误:
no such table: x.table1
如果我直接在数据库 db2 上删除 "x." 和 运行 查询,它就可以工作。
那么,如果 table 名称是附加数据库的一部分,我该如何转义它呢?
我试过括号和反引号,我也试过只引用 table 名称而不是 "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];
None 这些作品。
适合我:
select * from "x"."table1";
根据
这适用于当前数据库中的 tables,但是,当我尝试在附加数据库上执行此操作时,出现错误:
ATTACH db2 AS x; SELECT * FROM "x.table1";
产生错误:
no such table: x.table1
如果我直接在数据库 db2 上删除 "x." 和 运行 查询,它就可以工作。
那么,如果 table 名称是附加数据库的一部分,我该如何转义它呢?
我试过括号和反引号,我也试过只引用 table 名称而不是 "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];
None 这些作品。
适合我:
select * from "x"."table1";