使用executemany

时间:2015-09-19 18:57:53

标签: python sqlite

我有两张桌子:

  • 汉字 framenum INT和字符 STRING
  • learnAlg framenum INT和 framekanji STRING

framekanji 目前在每一行中都有值“NULL”,并且必须使用相同的填充 Kanji 字符帧编号。例如。表格汉字(2,'二')中的二个必须填入表格 learnAlg ,其中 framenum = 2。

以下代码有效:

c.execute("SELECT MAX(rowid) FROM learnAlg")
max = c.fetchone()[0]

for fn in range(max):
    fn += 1
    # !! Add framekanji !!
    c.execute("UPDATE learnAlg SET framekanji=(SELECT character FROM Kanji WHERE "
              "framenum = learnAlg.framenum) WHERE framenum = ?", (fn,))

问题

我想知道是否也可以使用类似于以下代码更新1行中的每一行:

c.executemany("UPDATE learnAlg SET framekanji=(SELECT character FROM Kanji WHERE "
              "framenum = learnAlg.framenum) WHERE framenum = self")

然而,这会导致错误:“TypeError:function只需要2个参数(给定1个)”

0 个答案:

没有答案