我正在使用python tkinter创建一个应用。
我最初使用sqlite并使用了以下代码,这些代码可根据需要将输入小部件的输入插入数据库。
其中一个字段是设置为PK的自动递增整数。
cur.execute("INSERT INTO asset VALUES (NULL,?,?,?,?,?,?,?,?)",(type, model, cost, snum, anum, location, condition, name))
但是我想切换到postgres。
我读到某个地方使用%s
而不是?
,但是当我更改为:
cur.execute("INSERT INTO asset VALUES (NULL,%s,%s,%s,%s,%s,%s,%s,%s)",(type, model, cost, snum, anum, location, condition, name))
我遇到以下错误:
File "C:\Users\USER\PycharmProjects\untitled\marissa.py", line 13, in insert
cur.execute("INSERT INTO asset VALUES (NULL,%s,%s,%s,%s,%s,%s,%s,%s)",(type, model, cost, snum, anum, location, condition, name))
psycopg2.IntegrityError: null value in column "id" violates not-null constraint
详细信息:失败行包含(null,笔记本电脑,HP,45000,HGUK0IUJ,-,NAL,工作正常,可以)。
请帮助。