我正在运行带有插入查询的问题。这是一些代码:
QUERY = '''
INSERT INTO bi.target_skus (skus)
SELECT
distinct od.sku,
FROM
bi.orders as od'''
t1 = MySqlOperator(
sql=QUERY,
mysql_conn_id = MYSQL_CONN_ID,
task_id='target_skus',
dag=dag)
这给了我以下错误:
ERROR - (1142, "INSERT command denied to user 'xyz' for table 'target_skus'")
一些注意事项:
Devops说我的用户有权在该表中插入
选择命令正常工作
即使我的插入查询没有,错误消息也不包含数据库名称(bi)。
答案 0 :(得分:0)
这看起来像是标准的MySQL“权限不足”错误。
您确定可以与用户一起执行INSERT,而不管DBA在说什么?您应该使用另一种工具(例如MySQL Workbench)测试相同的操作,以与在Airflow中建立连接的方式相同,即,相同的用户,相同的密码,相同的默认架构。
答案 1 :(得分:0)
这似乎是用户尝试插入的特权错误,但是插入中的逗号也可能引起问题:
QUERY =''' 插入bi.target_skus(skus) 选择 独特的od.sku 从 双阶为od'''