在我的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一起使用的其他语法并仍然收到相同的错误。
答案 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。