self.cursor.execute('INSERT INTO User where User_name=(?) (user_name,user_password,user_wins,user_loses) VALUES(?,?,?,?)',(a,a,b,c,d))
self.connect.commit()
按道理我还以为这会工作,但林不知道为什么它未? 首先 '?' sql语句中的与“ a”相同。 我收到此错误:
sqlite3.OperationalError: near "where": syntax error
所以我想知道是否真的可以写入SQL数据库中已写入的行?
答案 0 :(得分:3)
INSERT
手段添加一个完全新的行。如果你想改变现有的行,你需要UPDATE
例如
UPDATE User
SET user_password=?,
user_wins=?,
user_loses=?
WHERE user_name=?
将用户名作为最后一个变量传递。
类似这样:
self.cursor.execute(
'UPDATE User SET user_password=?, user_wins=?, user_loses=? WHERE user_name=?',
(b,c,d,a)
)