【问题标题】:SQLITE record not updatingSQLITE 记录未更新
【发布时间】:2021-11-15 20:02:05
【问题描述】:

好的,这是我创建数据库、创建骨架用户(create_user)、更新 f_name 字段(save_fName)的代码

c.execute("""CREATE TABLE UserData (
        id int AUTO_INCREMENT,
        user_id int,
        f_name text,
        phone_no text,
        f_code int,
        Recording_url text,
        rrt_number int,
        c_cex int,
        c_y int,
        nt_number int,
       x_pin int
    )""")

def save_fName(sf_N, userid):
   c.execute(f"UPDATE UserData SET f_name = '''+{sf_N}+''' WHERE user_id = '''+{userid}+'''")
   conn.commit()

def create_user(userid):
   sql = f"Insert into UserData values(0,{userid},'Notavailable','Notavailable',0,'Notavailable',0,0,0,0,0)"
   c.execute(sql)
   conn.commit()

我尝试使用与 save_fName 函数完全相同的代码更新到 phone_no 字段,但参数不同,并且效果很好,但是当我尝试使用 save_fName 更新 f_name 字段中的记录时,它不仅更新,没有错误但它停留在“不可用”

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python sql python-3.x sqlite


【解决方案1】:

您的请求格式错误且不安全。使用元组和问号

def save_fName(sf_N, userid):
   c.execute("UPDATE UserData SET f_name = ? WHERE user_id = ?", (sf_N, userid))
   conn.commit()

【讨论】:

    猜你喜欢
    • 2021-06-08
    • 1970-01-01
    • 2023-03-06
    • 2018-06-09
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多