我有一个名为Email1
,Email2
的多个类似条目的数据库......我创建了一个函数来存储这些列中的数据。但是,调用函数只能存储/更新特定列而不能存储/更新特定列。我有这段代码:
self.query = ("Update registration set Email1 = %s where Username =%s")
我在函数中使用相同的代码,因此在调用函数时,它会不断更新同一列Email1
而不是其他列。有没有办法更新查询中的列名,以便可以反复调用相同的函数和相同的查询而无需键入查询本身?谢谢!
答案 0 :(得分:0)
你可以试试这样的事情
def update_registration(email1, email2, username)
query = "Update registration set Email1 = IFNULL(%s, Email1), Email2 = IFNULL(%s, Email2) where Username = %s"
data = (email1, email2, username)
...
cursor.execute(query, data)
...
像
一样逐步使用此功能update_registration('aa@example.com', None, 'Test')
update_registration(None, 'bb@example.com', 'Test')
结果会给用户测试值: email1 = aa@example.com 和 email2 = bb@example.com