我使用的是python cx_oracle,当我尝试将变量插入sql:时
cursor.executemany(f"INSERT INTO table ({columns}) VALUES ({placeholders })",t)
它返回:
File "eula_db.py", line 77
cursor.executemany(f"INSERT INTO table ({columns}) VALUES ({placeholders })",t)
^
SyntaxError: invalid syntax
使用Python 3.6
包含t.py:
columns = 'abc'
placeholders = ':b'
s = f"INSERT INTO EULA_STG_DATA ({columns}) VALUES ({placeholders })"
print(s)
行为取决于Python版本:
$ python --version
Python 2.7.16
$ python t.py
File "/Users/cjones/py/so15.py", line 3
s = f"INSERT INTO EULA_STG_DATA ({columns}) VALUES ({placeholders })"
^
SyntaxError: invalid syntax
使用更新的Python:
$ python --version
Python 3.9.1
$ python t.py
INSERT INTO EULA_STG_DATA (abc) VALUES (:b)