编写一个名为“ create_table”的函数,该函数不带任何参数,并且不返回任何值。该函数将创建一个名为“ spokesman”的表,其中包含您在数据库中选择的文件名为“ region.db”的任何列。如果该表已经存在,则您的程序不应崩溃(即,您的函数将被调用两次,并且在两次调用中均应正常工作)。
import sqlite3
def create_table():
conn=sqlite3.connect('region.db')
cur=conn.cursor()
cur.execute("CREATE TABLE spokesman (first text)")
conn.commit()
conn.close()
我做错了什么,已经有了餐桌发言人?
答案 0 :(得分:3)
这意味着您之前已经执行过该程序,因此已经创建了表。您不能创建与现有表同名的新表。因此,如果您已两次执行该程序,则会收到该错误。
因此,将SQL命令更改为CREATE TABLE IF NOT EXISTS spokesman (first text)
。
因此整个程序应如下:
import sqlite3
def create_table():
conn = sqlite3.connect('region.db')
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS spokesman (first text)")
conn.commit()
conn.close()