Python 复合SQL插入语句

Python 复合SQL插入语句,python,mysql,sql,Python,Mysql,Sql,如何组合以下两条语句来创建有效的SQL查询 provider = os.path.basename(file) cursor.execute("""INSERT into main_app_financialstatements (statement_id, provider_id***, url, date) VALUES (%s, %s***, %s, %s)""", (sta

如何组合以下两条语句来创建有效的SQL查询

provider = os.path.basename(file)

cursor.execute("""INSERT into main_app_financialstatements 
                  (statement_id, provider_id***, url, date) 
                  VALUES (%s, %s***, %s, %s)""", 
                  (statement_id, provider***, url, date))

provider_id = SELECT id FROM main_app_provider WHERE provider=provider

换句话说,我有提供者,我需要从另一个表中选择
provider\u id
,以便将其插入
main\u app\u financialstatements

您可以使用
插入。。。选择。。。从
的变体:

cursor.execute("""INSERT into main_app_financialstatements
  (statement_id, provider_id, url, date)
VALUES (%s, (SELECT id FROM main_app_provider WHERE provider=%s), %s, %s)""",
  (statement_id, provider, url, date))
provider = os.path.basename(file)

sql = """
    INSERT INTO main_app_financialstatements 
        (statement_id, provider_id, url, date)
    SELECT %s, id, %s, %s
    FROM main_app_provider
    WHERE provider = %s
    """ 
args = (statement_id, url, date, provider)
cursor.execute(sql, args)