Я создаю приложение, используя 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
ДЕТАЛИ: строка с ошибками содержит (ноль, ноутбук, HP, 45000, HGUK0IUJ, -, NAL, работает, ОК).
Пожалуйста, помогите.