python更新查询-没有这样的列

python更新查询-没有这样的列,python,Python,我的问题不需要什么帮助。我想更新具体的价值房间,姓名,姓氏,但我得到的错误没有这样的列。感谢您的帮助 这是我的密码: def editGuest(): viewGuests() print("Choose room number:") roomNumber = input() print("You chooose", roomNumber) try: cur = con.cursor()

我的问题不需要什么帮助。我想更新具体的价值房间,姓名,姓氏,但我得到的错误没有这样的列。感谢您的帮助

这是我的密码:

def editGuest():
    viewGuests()
    print("Choose room number:")
    roomNumber = input()
    print("You chooose", roomNumber)
    try:
        cur = con.cursor()
        cur.execute("SELECT room,name,surname FROM Guest WHERE room = {}".format(roomNumber))
        rowz= cur.fetchone()
        print("ROOM", "\tNAME", "\tSURNAME")
        print(rowz[0],rowz[1],rowz[2])
        print("What would you like to change?")
        print("1 - Room, 2 - Guest Name, 3 - Guest Surname")
        userInput = input()
        if userInput == "1":
            print("Enter new room number")
            newRoom = input()
            cur.execute("UPDATE Guest SET room = {} WHERE room = {}".format(newRoom, roomNumber))
            con.commit()
        elif userInput == "2":
            print("Enter new name")
            newName = input()
            cur.execute("UPDATE Guest SET name = {} WHERE room = {}".format(newName,roomNumber))
            con.commit()
        elif userInput == "3":
            print("Enter new Surname")
            newSurname = input()
            cur.execute("UPDATE Guest SET surname = {} WHERE room = {}".format(newSurname,roomNumber))
            con.commit()
        else:
            print("Invalid Input")
    except sqlite3.Error as e:
        print(e)

看起来不像python问题,但是
Guest
表的列是什么?哪一行实际上失败了?room,name姓氏Only哪一行失败了?请注意,您使用格式的方式是不安全的。不要使用python内置的
format
函数,而是使用本机SQL格式化程序,该程序可以正确地转义用户输入中可能给出的符号:您可以向我们展示
CREATE TABLE
或类似的表达式吗?