0

我有以下代码:

cur.execute("INSERT INTO term_results(%s, %s) VALUES (%s, %s) WHERE results_id = %s", (term, termInserted, nResult, bResult, mostRecentRecord))

term并且termInserted都是字符串。其余的都是整数。我收到以下错误:

Error 1064: You have an error in your SQL syntax;

我试过重新安排WHERE条款,但没有运气,你能帮忙吗?谢谢。

4

1 回答 1

0

您不能where与 的values形式一起使用insert。只需使用insert . . . select

INSERT INTO term_results(%s, %s)
    SELECT %s, %s
    from <somewhere>
    WHERE results_id = %s"

我不知道表达式(term, termInserted, nResult, bResult, mostRecentRecord)应该做什么。您还需要一个包含from名为 的列的表的名称results_id

如果列表实际上是更多列,那么也许你想要这样的东西:

INSERT INTO term_results(%s, %s, term, termInserted, nResult, bResult, mostRecentRecord)
    SELECT %s, %s, term, termInserted, nResult, bResult, mostRecentRecord
    from <somewhere>
    WHERE results_id = %s"
于 2013-06-17T01:06:34.420 回答