gpt4 book ai didi

python - 使用 Airflow MySqlOperator 时插入查询中的语法错误

转载 作者:行者123 更新时间:2023-11-29 10:13:59 24 4
gpt4 key购买 nike

我正在使用 MySqlOperator.csv 文件加载到 mysql 表(test1 有 2 个 int 列)中,但在插入时出现语法错误查询,下面是我正在尝试的代码

    for filename in os.listdir(path):
if str(filename).endswith('.csv'):
csv_data = csv.reader(file(filename))
for row in csv_data:
sql1=("""insert into test1 values (%s,%s)""",row)
mysql_op = MySqlOperator(task_id='testop',
sql=sql1,
mysql_conn_id='hack5_id', owner='hack5',dag=dag)
mysql_op.run(start_date=datetime.now(), end_date=datetime(2018, 5, 21))

错误:

_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL 
syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near '%s,%s)' at line 1")

请帮我解决这个问题。

最佳答案

尝试运行以下命令:

    for filename in os.listdir(path):
if str(filename).endswith('.csv'):
csv_data = csv.reader(file(filename))
for row in csv_data:
sql1="insert into test1 values ({})".format(",".join(row))
mysql_op = MySqlOperator(task_id='testop',
sql=sql1,
mysql_conn_id='hack5_id', owner='hack5',dag=dag)
mysql_op.run(start_date=datetime.now(), end_date=datetime(2018, 5, 21))

关于python - 使用 Airflow MySqlOperator 时插入查询中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50423665/

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