Python多个数据库导致一次更新

Python多个数据库导致一次更新,python,mysql,sql,sql-update,Python,Mysql,Sql,Sql Update,我想更新一行中的几个数据库结果 我的代码: sql_client = "SELECT pd.prj_id, pd.dl_id, pd.name, pd.email FROM projects_doc pd JOIN reminder rm ON pd.prj_id = rm.prj_id WHERE doc_typ = 'assignment' ORDER BY pd.id ASC;" result = cursor.execute(sql_client) result = cursor.fet

我想更新一行中的几个数据库结果

我的代码:

sql_client = "SELECT pd.prj_id, pd.dl_id, pd.name, pd.email FROM projects_doc pd JOIN reminder rm ON pd.prj_id = rm.prj_id WHERE doc_typ = 'assignment' ORDER BY pd.id ASC;"
result = cursor.execute(sql_client)
result = cursor.fetchall()

for row in result:
       sql_prj_id = row['prj_id']
       sql_dl_id = row['dl_id']
       sql_dl_name = row['name']
       sql_dl_email = row['email']
示例输出:

  • 1544,TestName1,test@testname1.com
  • 2255,TestName4,test@testname4.com
  • 2256TestName5,test@testname5.com
  • 2257,TestName6,test@testname6.com
  • 3188,TestName7,test@testname7.com
我如何更新我的表以结束以下结果

表格结构

prj_id, dl_id, dl_name, dl_email
最终结果(示例)

  • 一,;544; TestName1;test@testname1.com
  • 二,;255, 256, 258; TestName4、TestName5、TestName6;test@testname4.com, test@testname5.com, test@testname6.com
  • 三,;188; TestName7;test@testname7.com

考虑MySQL的方言特定聚合函数:

选择pd.prj_id,
作为grp\U id的组(pd.dl\U id),
集团公司名称(pd.name)为集团公司名称,
分组会议(pd.电子邮件)作为grp\U电子邮件
来自projects\u doc pd
加入pd.prj_id=rm.prj_id上的提醒rm
其中doc_typ='分配'
按pd.prj_id分组
由pd.id ASC订购;
然而,不清楚如何运行更新,因为原始表中的行数将比上述聚合查询中的行数多。考虑从上面的查询创建一个新的表:

创建新表格\u表格为
或者更好的做法是保留原始的长格式,它提供了更高效的存储、可伸缩性、查询可维护性和引用完整性,因为列中的嵌套列表通常比表结构用于报告。只需从该查询创建一个视图。视图是存储在别处的查询,甚至在应用程序级(如Python)中使用,甚至可以自己查询

CREATE VIEW new\u VIEW AS
从prj_id=1的新_视图中选择*;
更新是什么意思?您想用Python输出还是覆盖现有的MySQL表数据?如果是后者,如何处理不同的行?