我需要一个Integer,但它是一个带逗号的字符串



我正在使用sqlite3,并试图通过使用行的标题来获取oid,然后尝试使用该oid来更新表中的列。

allOID是一个元组,当我打印它时,我得到的是:

>>> <class 'tuple'>
>>> [(1,)]

我正试图从这个元组中取出整数,但逗号把它弄丢了,我似乎找不到。

以下是当前使用的所有代码:

c.execute("""SELECT oid FROM books 
WHERE title = :title""",
{
'title': title
})
allOID = c.fetchall()
print(type(allOID[0]))
print(allOID)
c.execute("SELECT * FROM books")

c.execute("""UPDATE books SET
rented = :rented
WHERE oid = :oid""",
{
'rented': rentedVar,
'oid': allOID[0]
})

非常感谢您的帮助和意见!

逗号只是表示它是一个包含单个元素的元组。

使用allOID[0][0]访问它。

allOID[0]从结果列表中获得元组,使用allOID[0][0]更进一步,获得元组的第一个元素。

有关更多信息,请参阅文档:

空元组由一对空括号构成;一个包含一个项的元组是通过在值后面加逗号来构造的(用括号括一个值是不够的(。丑陋,但有效。

相关内容

最新更新