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
或类似的表达式吗?