INSERT语句错误 - MySQLdb / Python

时间:2013-06-17 01:00:58

标签: python mysql mysql-python

我有以下代码:

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

termtermInserted都是字符串。其余的是整数。我收到以下错误:

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

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

1 个答案:

答案 0 :(得分:0)

您不能将wherevalues形式的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"