Я пытаюсь вставить данные в базу данных postges в python. Это моя таблица:
CREATE TABLE IF NOT EXISTS fp_stores_data_test (
time INTEGER,
province VARCHAR(20),
city VARCHAR(20),
market_id INTEGER UNIQUE NOT NULL,
product_id INTEGER UNIQUE NOT NULL,
price INTEGER,
quantity INTEGER,
has_sold INTEGER,
PRIMARY KEY (time, city, province, market_id ,product_id)
);
, а это моя функция python, которая пытается добавить данные в базу данных:
def add_data_to_db(cursor, address):
list_of_files = listdir(address)
for file_ in list_of_files:
f = open(address+file_, "r")
for line in f:
data = line.split(",")
query = "INSERT INTO fp_stores_data_test "\
"VALUES ({},'{}','{}',{},{},{},{},{})"\
.format(data[0],data[1],data[2],data[3]
,data[4],data[5],data[6],data[7])
cursor.execute(query)
print(data)
, но появляется эта ошибка:
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "fp_stores_data_test_market_id_key"
DETAIL: Key (market_id)=(1) already exists.
Я не знаю, как избавиться от этого идентификатора по умолчанию.