【发布时间】:2020-10-22 18:27:55
【问题描述】:
我有一个包含 sql 命令的文件,我想执行文件中给出的命令,如果任何命令抛出任何错误,则忽略该错误并执行下一个命令。 这是一个示例文件:
drop table department;
drop table classroom;
create table classroom
(building varchar(15),
room_number varchar(7),
capacity numeric(4,0),
primary key (building, room_number)
);
create table department
(dept_name varchar(20),
building varchar(15),
budget numeric(12,2) check (budget > 0),
primary key (dept_name)
);
例如。如果教室表不存在,那么 drop table 命令将产生错误并且程序将终止。我希望程序继续运行并执行文件中的所有命令。
我面临的问题是create table 命令在多行中,所以我不知道如何执行。
【问题讨论】:
-
把整个文件读成字符串,用..我觉得是sqlite连接对象上的
executescript方法? -
为什么使用指定长度的
VARCHAR而被sqlite忽略? -
@OlvinRoght 我没有创建这个文件。我目前正在我的大学学习 sql,这是一个练习题,但我不知道该怎么做。
-
@Shawn 执行sql时出错了怎么办?
-
那你抓住它并做一些回应?
标签: python sql database sqlite