为了更好地理解:这是一个管理温室库存的程序,所以它将植物视为产品。 在尝试更新sqlite数据库中的值时,我遇到了一个奇怪的错误。我正在使用一个名为sqUpdateOne的函数,它根据给定的参数更新数据库中的值。这是:
# Sqlite database value updater
def sqUpdateOne(table, column, newValue, refColumn, refValue):
try:
with conn:
c.execute(f'''UPDATE {table} SET "{column}" = {newValue} WHERE {refColumn} = {refValue}''')
except Exception as e:
logging.error(f'No se pudo actualizar la tabla {table} - {e}')
在这种情况下,此函数调用“sqUpdateOne”:
def modifValue(column, id, prevValue, modValue):
if modValue != prevValue:
idCol = 'id'
invCol = 'inventario'
sqUpdateOne(invCol, column, modValue, idCol, id)
return True
else:
return False
还值得注意的是:当“modValue”(稍后在“sqUpdateOne”中是“newValue”)是整数或浮点值时,一切正常。 例如:当我这样做时:
sqUpdateOne('inventory','product','newPlant",'idColumn',001)
因此,这应该更新表“inventory”中的“product”列,特别是“idColumn”为001的值,并将该值设置为“newPlant”(右??) 好如果我这样做,它会给我一个错误,比如
No such column: "newPlant"
所以。。一般来说:当我在“newValue”参数中给它一个字符串时,我不知道为什么,但它将该值作为“column”值,并给我“no-this column”错误
sqUpdateOne在本程序的许多其他情况下使用,当我给“newValue”参数的值是整数或浮点时,我没有任何问题
目前没有回答
相关问题 更多 >
编程相关推荐