【发布时间】:2016-01-09 21:01:15
【问题描述】:
以以下方式将 None 值插入 oracle 时出现错误:
host = ('value1', 'value2', None, None)
sql_insert = "INSERT INTO sm9_data_hostname (field1, field2, field3, field4) VALUES ( :1, :2, :3, :4)"
conn_link.execute(sql_insert, host)
connection.commit()
错误是: cx_Oracle.DatabaseError: ORA-01036: 非法变量名/编号
如果我使用“Null”而不是“None”,则插入有效。 我看不出这个查询有什么问题,因为参数应该用 Null 替换 none。还是这是错误的假设?
谢谢, 艾萨克
【问题讨论】:
-
您是否尝试过使用命名占位符?例如
:field1,并作为字典传递? -
我没有,但现在试试看是否有效,谢谢
-
看来成功了,谢谢!
-
我已经发布了它作为繁荣的答案!