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

Unable to Create Schema with pscopg2 library in Python

在我的 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 的语法,但仍然收到相同的错误。

试试AsIs,如下:

import psycopg2
from psycopg2.extensions import AsIs

city = AsIs("New_York")

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

这里有一个也用到了这个功能。希望这对您有所帮助!

甚至比AsIs更好,使用psycopg2.sql