如何在PostgreSQL插入查询到Python脚本中的变量转义?

时间:2019-02-20 13:05:44

标签: python postgresql

我的Python脚本有问题,我无法在网上找到答案,或者我无法实现它们,或者它们对我不起作用:/

我有一个Python脚本,在其中有一个PostgreSQL数据库的INSERT查询。

这是查询:

        print('Insert Site')
        with conn.cursor() as cur:
            cur.execute(
                """ INSERT INTO `site_file` (`nameSite_File`, `ownerSite_File`, `typeSite`, `linkSite_File`, `lastVisite`, lastUpdate) VALUES (%s,%s,%s,%s,%s,%s); """,
                (site[0], site[1], site[2], site[3], site[4], site[5]))
            conn.commit()
            cur.close()

这是错误:

--
[u"Decat'personnalisation", u'daft.punk@decathlon.com', 'New Album is Awesome', u'https://sites.google.com', NULL, '2017-07-13']
Unexpected Error
--

我对Python真的很陌生,但是我很确定这是因为它不会转义nameSite变量的引号

非常感谢您的时间和帮助,

托马斯。

1 个答案:

答案 0 :(得分:1)

PostgreSQL不像MySQL那样使用反引号``。它使用double quotes ""(这是更标准的SQL)代替。这意味着您需要在SQL insert语句周围保留三引号。