0

我正在使用来自 python 2.7.2 的 SQLite 版本 3.3.6。

executescript()使用from python 脚本执行此查询时:

attach database 'Capacity.db' as WeekAgo;
drop table if exists maximums;
create table maximums (Element TEXT UNIQUE, Score NUMBER , Report TEXT);
insert into maximums (Element, Score, Report) select * from WeekAgo.maximums;

我总是以删除附加数据库中的 WeekAgo.maximums 表和脚本崩溃结束,不再存在 WeekAgo.maximums。我究竟做错了什么?没有DROP IF EXISTS,一切正常。

4

1 回答 1

5

使用main关键字:

attach database 'Capacity.db' as WeekAgo;
drop table if exists main.maximums;
create table main.maximums (Element TEXT UNIQUE, Score NUMBER , Report TEXT);
insert into main.maximums (Element, Score, Report) select * from WeekAgo.maximums;

https://www.sqlite.org/lang_attach.html

如果不同数据库中的两个或多个表具有相同的名称,并且在表引用中未使用 database-name 前缀,则选择的表是数据库中最近最少附加的表。

于 2012-07-24T12:40:37.070 回答