Я продолжаю сталкиваться с ошибкой «psycopg2.ProgrammingError: column« none »не существует».psycopg2.ProgrammingError: столбец «none» не существует. Заявление об обновлении
Я прочитал psycopg2 documentation и посмотрел на других постах на этой ошибке, однако, многие из них специфические для вставки запроса вместо запроса обновления.
Моего кода выглядит следующим образом: -
def send_to_sql(identity,list1,list2,list3):
userid = 30
Fixture_No = None
Home_Side_Score = None
Away_Side_Score = None
conn = psycopg2.connect("dbname='Euro2016' user='postgres' host='localhost' password='##passwordhere##'")
cur = conn.cursor()
cur.execute("""UPDATE "Predictions" SET userid = %r, "Fixture_No" = %r, "Home_Side_Score" = %r, "Away_Side_Score" = %r WHERE "Predictions"."userid" = %r AND "Predictions"."Fixture_No" = %r """ % (userid, Fixture_No, Home_Side_Score, Away_Side_Score, userid, Fixture_No))
conn.commit()
cur.close()
conn.close()
Этот код работает отлично, если оценки и арматура число, которое я пытаюсь передать это номер, но когда запись None сделана, код падает на его лицо. Кто-нибудь сохранит меня ...
оффтоп намек: использовать подготовленные заявления http://initd.org/ psycopg/articles/2012/10/01/подготовленные-заявления-psycopg/там гораздо безопаснее, чем они создают sql с внешними переменными – kwarunek