gpt4 book ai didi

python - 使用 psycopg2 将值插入到 postgres 表中是否有更短的语法?

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:52 25 4
gpt4 key购买 nike

我正在尝试使用带有 Python 2.7 的 psycopg2 将许多列插入到表格行中。有没有办法缩短 INSERT 语法?我目前必须一遍又一遍地输入占位符 (%s),例如 VALUES(%s,%s,%s,...%s)

编辑:目前我有

tableCursor.execute('INSERT INTO "table" ("x1","x2","x3","x4")' +
'VALUES (%s,%s,%s,%s)', (val1,val2,val3,val4))

我想使用的不仅仅是占位符,但一直输入 %s 有点重复。

最佳答案

没有。

如果您有足够多的列,这是一个问题,那么 (a) 您可能需要重新考虑您的架构设计,并且 (b) 您始终可以使用 ', '.join(['%s ']*n) 其中 n 是生成字符串的参数数量。

>>> ', '.join(['%s']*7)
'%s, %s, %s, %s, %s, %s, %s'

>>> 'INSERT INTO tablename(col1,col2,col3,col4,col5,col6,col7) VALUES (' + ', '.join(['%s']*7) + ');'
'INSERT INTO tablename(col1,col2,col3,col4,col5,col6,col7) VALUES (%s, %s, %s, %s, %s, %s, %s);'

我同意让 psycopg 根据指定的列数自动推断出 VALUES 列表会很好,如果你没有明确地给它一个。不过,事实并非如此,而且 DIY 很容易。

关于python - 使用 psycopg2 将值插入到 postgres 表中是否有更短的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13616952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com