我有以下代码:
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
条款,但没有运气,你能帮忙吗?谢谢。
答案 0 :(得分: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"