无法使用Python中的pscopg2库创建架构

时间:2017-07-17 03:41:26

标签: python sql postgresql psycopg2

在我的python脚本中,我尝试使用以下代码在Postgresql数据库中创建一个新架构:

city = "New York"

cur.execute("CREATE SCHEMA %s", (city,)) # Creates New Schema

运行此代码时,程序会抛出以下错误:

psycopg2.ProgrammingError: syntax error at or near "'New York'"
LINE 1: CREATE SCHEMA 'New York' code here

由于某种原因,名称已插入引号,导致程序无法创建架构。在做了一些研究之后,我确信我在这里使用的语法是正确的,并且我尝试使用与psycopg2一起使用的其他语法并仍然收到相同的错误。

2 个答案:

答案 0 :(得分:2)

尝试AsIs,如下所示:

import psycopg2
from psycopg2.extensions import AsIs

city = AsIs("New_York")

cur.execute("CREATE SCHEMA %s", (city,)) # Creates New Schema

这里还有similar question也使用了这个功能。希望这有帮助!

答案 1 :(得分:0)

甚至优于AsIs,请使用psycopg2.sql