提问人:A A 提问时间:10/31/2023 最后编辑:Ken WhiteA A 更新时间:10/31/2023 访问量:36
游标方法执行中的操作错误
Operational Error in Cursor Method Execute
问:
我正在尝试在 python 的 sqlite3 中创建一个数据库,但在运行该函数后显示此错误消息:
cursor.execute(sql) sqlite3.OperationalError: near “(”: 语法错误
问题显然出在名为 Execute 的游标的方法中,因为调试部分指示该行中存在操作错误,但原因尚不清楚,因为它是按预期编码的。但是,该表已创建,但此错误显示它阻止了我的程序。问题不在于查询的语法,因为我尝试更改列名和变量类型的位置。
请帮我找到问题。
import sqlite3
def table_personal_data():
conn = sqlite3.connect('mailroom.db')
cursor = conn.cursor()
sql='''CREATE TABLE IF NOT EXISTS DONORS(
ID PRIMARY KEY (NAME,NAME),
NAME VARCHAR(40) NOT NULL,
LASTNAME VARCHAR(40) NOT NULL,
EMAIL VARCHAR(50) NOT NULL,
DRIVER_LICENSE VARCHAR(50) NOT NULL)'''
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()
table_personal_data()
我试图更改查询部分中的sqlite3代码,但这不是问题。
答:
2赞
Хонгор Чулуунцэцэг
10/31/2023
#1
这是您的查询语法错误,请检查一下
这是正确的语法
sql = '''CREATE TABLE IF NOT EXISTS DONORS(
ID PRIMARY KEY,
NAME VARCHAR(40) NOT NULL,
LASTNAME VARCHAR(40) NOT NULL,
EMAIL VARCHAR(50) NOT NULL,
DRIVER_LICENSE VARCHAR(50) NOT NULL)'''
评论
0赞
OCa
10/31/2023
请编辑您的帖子,以便以文本而不是图像的形式分享代码、数据和错误回溯。
上一个:光标 LOV 表单生成器
评论
(NAME,NAME)