【问题标题】:Insert to Oracle using Python ; Tried oracle quote function使用 Python 插入 Oracle ;试过oracle报价功能
【发布时间】:2018-04-12 07:49:30
【问题描述】:

由于数据中的单引号,插入 oracle 失败。

原始python代码:

sql_query = "insert into ptablevalues ({0},'{1}')".format(nextval,row['name'])

Python 中 sql_query 变量的值:

"insert into pstar values (16655,'O'Hare')"

我尝试在 Oracle 中使用报价功能,但仍然无法正常工作

新的python代码:

sql_query = "insert into pstar values ({0},'{1}')".format(nextval,"q\'["+row['name']+"]'"

输出结果

"insert into pstar values (16656,'q'[O'Hare']'')

可能是什么问题

【问题讨论】:

  • 您应该了解如何使用正确的查询参数,而不是尝试在 SQL 语句中直接粘合变量。 xkcd.com/327

标签: python oracle


【解决方案1】:

请尝试在下面删除“{1}”中的引号

sql_query = "insert into pstar values ({0},{1})".format(nextval,"q\'["+row['name']+"]'"

【讨论】:

    猜你喜欢
    • 2014-01-03
    • 2020-12-09
    • 1970-01-01
    • 2017-01-07
    • 2018-11-13
    • 2020-09-11
    • 2017-06-09
    • 2016-01-09
    • 2021-06-02
    相关资源
    最近更新 更多