我正在尝试使用用户将提供的名称创建数据库。据我所知,正确的方法是使用execute()的第二个参数。
所以我做了如下:
import psycopg2
conn = psycopg2.connect(host="...", dbname="...",
user="...", password="...", port='...')
cursor = conn.cursor()
query = ''' CREATE DATABASE %s ;'''
name = 'stackoverflow_example_db'
conn.autocommit = True
cursor.execute(query, (name,))
cursor.close()
conn.close()
我得到了这个错误:
psycopg2.errors.SyntaxError: syntax error at or near "'stackoverflow_example_db'"
LINE 1: CREATE DATABASE 'stackoverflow_example_db' ;
我需要执行此语句以避免 SQL 注入,因此必须使用第二个参数。
慕的地6264312
相关分类