Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python бд. ошибка не могу отправить данные

Максим Шатаев Мудрец (19839), на голосовании 1 год назад
нужно отправить список кортеже в бд, и у меня вот такая ошибка, что с ней делать?
for item in all_product:
for items in item:
name = items[0]
address = items[1]
uuid = items[2]
stock = items[3]
id_citt = items[4]
other_id = items[5]
sale_date = items[6]
print(id_citt)
# Создаем кортеж для вставки в БД
values_tuple = (id_citt, sale_date, stock, other_id)
list_tumles.append(values_tuple)
print(list_tumles)
#print(values_tuple)
insert_query = "INSERT INTO main_dnsshopavails (id, date, stock, product_id) VALUES (%s, %s, %s, %s) ON DUPLICATE KEY UPDATE date=VALUES(date), stock=VALUES(stock)"
# Выполняем SQL-запрос

db = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASSWORD, db=DB_NAME, connect_timeout=360)

cursor = db.cursor()

cursor.executemany(insert_query, list_tumles)

print("Запрос успешно выполнен.")


cursor.connection.commit()
cursor.close()
db.close()

MySQLdb.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`vsa777_crm2`.`main_dnsshopavails`, CONSTRAINT `main_dnsshopavails_shop_id_bec0428e_fk_main_dnscityshops_id` FOREIGN KEY (`shop_id`) REFERENCES `main_dnscityshops` (`id`))')
Голосование за лучший ответ
fff ggg Профи (678) 1 год назад
shop_id некорректный. В ошибке написано, что shop_id берется откуда-то. А вы вставляете id, который по правилу вставить нельзя
Максим ШатаевМудрец (19839) 1 год назад
как я понял, shop_id это внешний ключ родительской бд привязанный к этой id, который я тоже изменить не могу хотя код срабатывает. и этот id является id магазина который мне тоже нужно добавить в бд.
Похожие вопросы