将数据插入特定的Sqlite3数据库行吗?

时间:2019-02-02 20:25:55

标签: python sql database sqlite

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数据库中已写入的行?

1 个答案:

答案 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)
)