Python Oracle,插入非

2024-10-01 15:47:17 发布

您现在位置:Python中文网/ 问答频道 /正文

以以下方式将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.Database错误:ORA-01036:非法变量名称/编号

如果我使用'Null'而不是None,insert就可以工作。 我看不出这个查询有什么问题,因为参数应该用Null替换none。还是这是错误的假设?在

谢谢, 艾萨克


Tags: nonehostsqldata错误方式nullhostname
1条回答
网友
1楼 · 发布于 2024-10-01 15:47:17

我对cx_Oracle没有任何经验,但我建议您尝试使用命名占位符作为替代。比如说:

conn_link.execute(
    "INSERT INTO sm9_data_hostname (field1, field2, field3, field4) "
    "VALUES (:field1, :field2, :field3, :field4)",
    dict(field1="value1", field2="value2", field3=None, field4=None)
)

相关问题 更多 >

    热门问题