динамическое обновление таблицы через python - PullRequest
0 голосов
/ 26 мая 2018

Я хочу обновить таблицу (TEMP):

value = 100 * 0.9
statement = 'update temp set tax = :1 where name = :2'
cur.execute(statement, ('value', 'emp1'))
con.commit()

Есть ли другой способ динамического обновления таблицы?

Ответы [ 3 ]

0 голосов
/ 26 мая 2018

Вот некоторый псевдокод, так как я не знаю, какая у вас конкретная информация о базе данных.Код, подобный этому, должен работать:

import pymysql

con = pymysql.connect(host='localhost', user='random',
                  passwd='pass', db='sample')

cur = con.cursor()

value = 100 * 0.9
name = 'emp1'
cur.execute('''UPDATE temp SET tax = %d where name = %s'''
          %(value, name))
con.commit()
0 голосов
/ 28 мая 2018

Снять кавычки со значения.

value = 100 * 0.9
statement = 'update temp set tax = :1 where name = :2'
cur.execute(statement, (value, 'emp1'))
con.commit()

Вы передавали строку 'значение', а не вашу переменную.

0 голосов
/ 26 мая 2018

попробуйте это:

#!/usr/bin/env python3.6
table, tax, name = 'temp', 100 * 0.9, 'emp1'
statement = f'update {table} set tax = :1 where name = :2'
cur.execute(statement, (tax, name))
con.commit()
...