MySQL cur.execute格式

时间:2018-12-20 12:43:46

标签: python mysql

在我的情况下,我不太了解如何对SQL语句使用.format。 我可以用它来定义列名吗?

它使用一个值,但不适用于整个元组。

sql_stmt = ("""UPDATE intmt_vals SET {0} = {1} WHERE ID={2};""".format(column, values, ids))
cur.execute(sql_stmt)

column是外部字典column = k中的键,例如'column1'

values是来自内部字典vals = tuple(dict.get(k).values())的值,例如(a, b, c, d, e, f,)

ids是来自内部字典的键,例如ids = tuple(dict.get.(k).keys()),例如 (1,2,3,4,5,6)

错误 mysql.connector.errors.DataError: 1241 (21000): Operand should contain 1 column(s)

1 个答案:

答案 0 :(得分:2)

是的,这很容易做到。但您只应在设置列名称时使用url = 'https://datos.madrid.es/egob/catalogo/205026-0-cementerios.json' r = requests.get(url, headers={"User-Agent": "curl/7.61.0"}) print(r.json()) 。原因:MySQL parameterized queries。为何得到format的原因是您的sql语句只有一列却有多个值,例如Operand should contain 1 column(s)

column1 = (a, b, c, d, e, f)