Форматирование строки Python внутри строки - PullRequest
0 голосов
/ 24 ноября 2018

Я использую соединитель Python MySQL, нужно написать SQL-запрос как:

update inventory set checked_out = 'n' where item = 'dongle'

Все элементы помещены в Курсор из предыдущего выполнения, я использую в цикле как:

cnx = mysql.connector.connect(host='localhost',database='mem_bug',user='root',password='July@2013')
for r in cursor :
   sql = "update inventory set checked_out = 'n' where item = {}".format(r[0])
   cursor.execute(sql)
   cnx.commit()

Когда формируется SQL, он формируется как:

update inventory set checked_out = 'n' where item = dongle

Следовательно, выдает ошибку как:

_mysql_connector.MySQLInterfaceError: Unknown column 'dongle' in 'where clause'

Как мне отформатировать строку в строке так:получить мой SQL правильно выполнен.

1 Ответ

0 голосов
/ 24 ноября 2018

Просто добавьте кавычку, и кажется, что проблема:

cnx = mysql.connector.connect(host='localhost',database='mem_bug',user='root',password='July@2013')
for r in cursor :
   sql = "update inventory set checked_out = 'n' where item = '{}'".format(r[0])
   cursor.execute(sql)
   cnx.commit()
...