1

如何使用 sqlite3 更新数据库中已经存在的条目?

我试过了:

db_curs.execute("INSERT INTO `database` (cID) VALUES ('Updated')")

但这当然会创建一个新条目。我可以获得(条目的)(行(?))编号,更新数据库而不是创建新条目的命令是什么?

编辑:

说得好一点,当我将 SQL 条目转换为 python 列表时,我得到以下信息,

(1, u'GGS-04', u'John', u'Smith', 9, u'0')

我需要能够在最后一项中添加一个数字。这就是我所拥有的。

info = (1, u'GGS-04', u'John', u'Smith', 9, u'0')

for result in info:
    ln           = str(result[0])
    ggs          = str(result[1])
    first_name   = str(result[2])
    last_name    = str(result[3])
    dob          = str(result[4])
    spend        = str(result[5])
while True:
    res = raw_input("Enter points to add: ")
    try:
        int(res)
        break
    except:
        print "Please enter a number..."
        pass
spend = str(int(spend) + int(res))
db_curs.execute("UPDATE `" + db_name + "` (cID, first_name, last_name, date_of_birth, spend) VALUES ('" + srce + "', '" + first_name + "', '" + last_name + "', '" + dob + "' WHERE '" + spend + "')")
db_connection.commit()

有人可以解释一下这个命令的正确语法吗?如果我可以只更新“支出”列而不是从前缀变量中全部更新它们,那就太棒了。谢谢 :)

4

1 回答 1

0

这应该有效:

db_curs.execute("UPDATE database SET spend =`" + spend + "` WHERE cID="+ cID)

另请参见SQL 更新语法

顺便说一句,“数据库”不是数据库表的有用名称。“用户”或“花费时间”或更具描述性的东西呢?

于 2012-05-05T14:54:18.777 回答