#python #postgresql
#python #postgresql
Вопрос:
for jp_number in datadict:
ct_id = "".join(datadict[jp_number]).replace("'", '')
insert_query = """INSERT INTO dwb_weekly_snapshot(jp_number, ct_id) VALUES(%s, %s)"""
cursor.execute(insert_query, (jp_number,ct_id))
Я получаю ‘M’: ‘оператор не существует: переменный символ = числовой’ как ошибку
jp_number — это varchar(20) и ct_id (текст) в таблице, которую я пробовал точно по приведенному выше запросу
Та же ошибка, что и для
update_query = """update dwb_weekly_snapshot set ct_id= %s where jp_number = %s """
cursor.execute(update_query, (ct_id, imnumber))
Комментарии:
1. jp_number — это основной номер в таблице
Ответ №1:
вы говорите, что Jp_number — это varchar(20) в вашей таблице, тогда почему вы приводите к int в своем операторе execute? удалите значение int(xx) и попробуйте
Комментарии:
1. на самом деле я использую цикл for, и значение jpnumber исходит из этого, повторяя datadictionary в python @saro пожалуйста, обновите qn, я его отредактировал
Ответ №2:
Jut преобразованный inumber = str(imnumber) Это сработало, потому что в таблице есть varcharb 20