首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于使用心理学2的sql模块创建表的问题

关于使用心理学2的sql模块创建表的问题
EN

Stack Overflow用户
提问于 2022-01-01 14:26:41
回答 1查看 50关注 0票数 0

“”“

代码语言:javascript
复制
host = "localhost"
user = "postgres"
password = "Lall1739!@#"
port = "5432"
dbname = "snp500"
con_form = "host={0} user={1} password={2} port={3} dbname={4}".format(host, user, password, port, dbname)

con = psycopg2.connect(con_form)
cur = con.cursor()

components_name, components_prices, components_fetch_dates = fetch_investing_snp500_components_datas()

for component_name in components_name:
    table_name = component_name
    cur.execute(
        query=sql.SQL("CREATE TABLE %s"), 
        vars=(sql.Identifier(table_name))
    )

“”“

TypeError:“标识符”对象不支持索引

使用Python字符串内插来构建查询字符串也不是一个好主意。

因此,我试图使用sql模块编写一个查询。

使用sql模块编写查询究竟有什么好处,为什么我会得到Type错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-01 15:42:54

注意,execute用于参数替换(.i.e )。字符串),而要替换标识符(即表名)。为此,请使用SQL.format()

代码语言:javascript
复制
cur.execute(
    query=sql.SQL("CREATE TABLE {table}").format(
        table=sql.Identifier(table_name),
    ), 
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70549482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档