0
我有一個psql表「inlezen」列「tagnaam」和「melding」。 現在,如果「tagnaam」等於一個變量「foutetag」,我想在字符串「meldingen」中插入一個字符串。python:psql:插入條件表
我已經嘗試了一些查詢,弄亂了語法,但無法讓它工作。 這是我的代碼:
cur.execute("INSERT INTO inlezen (melding) WHERE tagnaam == foutetag VALUES (%s)", ("Fout bij schrijven naar OPC Server",))
conn.commit()
但它給錯誤:
Traceback (most recent call last):
File "OPCSchrijvenLezen.py", line 71, in <module>
cur.execute("INSERT INTO inlezen (melding) WHERE tagnaam == foutetag VALUES (%s)", ("Fout bij schrijven naar OPC Server",))
psycopg2.ProgrammingError: syntax error at or near "WHERE"
LINE 1: INSERT INTO inlezen (melding) WHERE tagnaam == foutetag VALU...
有誰知道什麼地方錯了這段代碼?
在此先感謝!馬蒂亞斯艾丁格的回答後
編輯:
我已經改變了代碼和錯誤改變了一點點:
Traceback (most recent call last):
File "OPCSchrijvenLezen.py", line 72, in <module>
cur.execute("INSERT INTO inlezen (melding) WHERE tagnaam = %s VALUES (%s)", (foutetag, "Fout bij schrijven naar OPC Server",))
psycopg2.ProgrammingError: syntax error at or near "WHERE"
LINE 1: INSERT INTO inlezen (melding) WHERE tagnaam = 'Bakkerij.Devi...
^
現在至少「看到」變量的內容。但是,變量周圍有單引號。我不確定他們是否應該在那裏。 如果我打印變量「foutetag」它只是顯示:
Bakkerij.Device1.DB100INT8
,就像它在PSQL表。
我這是怎麼產生的變量:
foutetag = [item[0] for item in taglistwaardennieuw]
foutetag = (", ".join(foutetag))
難道還有什麼錯我產生可變的方式嗎?
我已經在我的OP中回覆。 – RobbeM
已更新。你的SQL語句從一開始就生病了 –
謝謝,這個工作! – RobbeM