我们说mytable
有5列,id
是第一列。
是否可以在不对列名称进行硬编码的情况下执行UPDATE
?
UPDATE mytable VALUES(4, "hello", 31.12, 4141.12, "gjhg") WHERE id = 4
我在大多数tutorials找不到它。
sqlite3所需的用例:
row = (4, "hello", 31.12, 4141.12, "gjhg")
c.execute('UPDATE mytable VALUES(?) WHERE id = ?', row, row[0])
答案 0 :(得分:0)
据我所知你不能这样做。根据{{3}}
但是还有其他编写查询的方法: https://sqlite.org/lang_update.html
您可以自己生成查询 首先,选择所有列名称并执行for循环,在其中构建类似“column1,column1,column1”的String,并将其添加到查询的适当位置。那么你所要做的就像是
"UPDATE users
SET (" + generatedQueryPart = ")
= ('value1', 'value2', 'value3')
WHERE some_condition ";
希望这能为您提供更多信息。