我在更新列的值时在sqlite3中遇到“没有这样的列”错误

我定义的函数来更新表的值


def updateInfo(id, term, val):

    try:

        cursor.execute(f"UPDATE students SET {term}={val} WHERE id={id}")

    except Error as err:

        print(err)

我的表


CREATE TABLE students(

    id INTEGER,

    fname TEXT,

    lname TEXT,

    branch TEXT,

    course TEXT,

    emailID TEXT,

    mobileNum TEXT,

    PRIMARY KEY(id)

)

在从用户获取输入时,只有用户输入的“mobileNum”正在工作,对于“fname”等其他内容,我没有得到这样的列错误


stuId = int(input("Enter students ID: "))

upValue = input("What do you want to update: ")

reValue = input("Update the value: ")

updateInfo(stuId, upValue, reValue)


波斯汪
浏览 91回答 1
1回答

HUX布斯

如果 是字符串,它将被解释为列名,因为它没有用引号括起来。把它们放在那里,你应该没事:valcursor.execute(f"UPDATE students SET {term}='{val}' WHERE id={id}")# Here -------------------------------------^-----^
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python