从python列表进行SQL迭代更新
你们知道如何在不使用cur.executemany的情况下从python列表更新数据库吗?使用cur.executemany时,我在API调用或其他方面遇到问题。下面还有什么方法可以解决这个问题?谢谢大家!从python列表进行SQL迭代更新,python,sql,database,postgresql,Python,Sql,Database,Postgresql,你们知道如何在不使用cur.executemany的情况下从python列表更新数据库吗?使用cur.executemany时,我在API调用或其他方面遇到问题。下面还有什么方法可以解决这个问题?谢谢大家! import psycopg2 conn = psycopg2.connect(DATABASE_URL) # Postgres cur = conn.cursor() list_account = [('Bob', 55), ('John', 10)] cmd_type = ("""
import psycopg2
conn = psycopg2.connect(DATABASE_URL) # Postgres
cur = conn.cursor()
list_account = [('Bob', 55), ('John', 10)]
cmd_type = ("""
UPDATE db.table
SET name = %s
WHERE age = %s""")
cur = conn.cursor()
cur.executemany(cmd_type, list_people)
我知道下面很难看,但我做到了
for i in range(len(list_account)):
cmd_type = ("""
UPDATE db.table
SET name = '{}'
WHERE age = '{}'""".format(list_account[i][0], list_account[i][1]))
cur = conn.cursor()
cur.execute(cmd_type)
conn.commit()
不是答案,但我不想编辑你的代码,因为我还没有安装Postgres 您使用的库似乎没有使用ExecuteMy进行优化。所以你能试试下面的代码吗,这是我通常做的,简单易懂的代码。我在首都发表了评论,因为有几件事没有必要的意义,但却是可能的
import psycopg2
DATABASE_URL='db'
conn = psycopg2.connect(DATABASE_URL) # Postgres
#ARE YOU SURE YOU DON'T NEED USERNAME, PASSWORD AND PORT?
cur = conn.cursor()
list_account = [('Bob', 55), ('John', 10)]
#IN YOU UPDATE STATEMENT YOU CALL THE DATABASE NAME: "db", AND THE TABLE 'table'
#ARE YOU SURE ABOUT THIS?
cmd_type = ("""
UPDATE db.table
SET name = %s
WHERE age = %s""")
cur = conn.cursor()
for params in list_account:
cur.execute(cmd_type, params)
conn.commit()
使用
这行吗
如果不尝试此操作:
import psycopg2
DATABASE_URL='db'
conn = psycopg2.connect(DATABASE_URL) # Postgres
#ARE YOU SURE YOU DON'T NEED USERNAME, PASSWORD AND PORT?
cur = conn.cursor()
list_account = [('Bob', 55), ('John', 10)]
#IN YOU UPDATE STATEMENT YOU CALL THE DATABASE NAME: "db", AND THE TABLE 'table'
#ARE YOU SURE ABOUT THIS?
cmd_type = ("""
UPDATE `table`
SET name = %s
WHERE age = %s""")
cur = conn.cursor()
for params in list_account:
cur.execute(cmd_type, params)
conn.commit()
您可以在连接上执行然后提交。您使用哪个库?不确定您使用的是什么,但为其他人这样做了:只需查看插入线程并遍历变量列表。此代码使用mysq连接器python MySQL本机库,运行良好。同样,这取决于您使用的数据库和库0在执行此代码后是否提交连接?不熟悉已编辑的最后一位数据库?MySQL?MSSQL?您使用哪个库?