Обновите таблицу PostgreSql, используя переменную Python - PullRequest
1 голос
/ 28 сентября 2019

В моей базе данных PostgreSql есть следующая таблица с 1 строкой данных.

enter image description here

Я хочу обновить значение в столбце «диагностика» (в настоящее время 3) на другое число.Мой код Python ниже:

Исходя из моего кода ниже, столбец «диагноз» должен совпадать с любым числом, назначенным переменной диагностики Python.В этом случае столбец «диагноз» в моей таблице должен быть равен 5.

diagnosis = 5; 

# eyeball

conn = psycopg2.connect("dbname=eyeballdbfinal user=postgres")
print ("Database opened successfully")

cur = conn.cursor()
cur.execute("UPDATE eyeballtables set DIAGNOSIS = diagnosis where id = 1") # fix this
conn.commit()
print("Total updated rows:", cur.rowcount)

Но мой код SQL внутри моего питона не работает.В частности, после запуска моего кода Python выше, моя таблица должна иметь 5 в качестве диагноза.Вместо этого ничего не меняется.Я думаю, что эта часть кода ДИАГНОСТИКА = диагностика не работает.

Что я делаю не так?

1 Ответ

1 голос
/ 28 сентября 2019

Используйте переменную в качестве параметра:

cur.execute("UPDATE eyeballtables set DIAGNOSIS = %s where id = 1", (diagnosis,))

Чтение: Передача параметров в запросы SQL

...