我正在为投票系统制作一个Python应用程序。我正在用来sqlite3创建一个存储在用户计算机本地的数据库。
我需要一种方法来检查表是否存在,因为当每个用户运行应用程序时,需要在每个用户的数据库文件上创建表,但是如果应用程序在表存在时运行,并且我只有一条创建表的语句,它将运行出错,因为表已经存在。
这是一些简化的示例代码
conn = sqlite3.connect('firefight')
c = conn.cursor()
if table 'info' exists:
#do nothing
else:
c.execute("CREATE TABLE info(PRIMARY KEY id int, username text, password text)")
Run Code Online (Sandbox Code Playgroud)
我认为这里有两个选择。首先,SQLite 有一条语句,仅当表不存在时才会创建该表:
CREATE TABLE IF NOT EXISTS info (PRIMARY KEY id int, username text, password text)
Run Code Online (Sandbox Code Playgroud)
但如果您想要一种更通用的数据库方法来处理此问题,您可以简单地执行常规CREATE TABLE语句,然后在 Python 中处理异常。
| 归档时间: |
|
| 查看次数: |
17840 次 |
| 最近记录: |