Vin*_*ran 1 snowflake-schema python-3.x snowflake-cloud-data-platform
我正在尝试使用雪花连接器在表中插入一条记录。
在雪花文档中,他们展示了带有硬编码字符串的示例,但是当我尝试使用我的变量时,它不起作用。请建议在这种情况下如何使用变量。
conn.cursor().execute(
"INSERT INTO cm.crawling_metrics(FEED_DATE,COMP_NAME,REFRESH_TYPE,CRAWL_INPUT,CRAWL_SUCCESS) VALUES " +
"(score_creation_date,compName,sRefreshType,mp_sku_count,comp_sku_count)"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Snowflake.connector.errors.ProgrammingError:000904(42000):SQL编译错误:位置100处的错误行1无效标识符“SCORE_CREATION_DATE”
注意:在上面的代码中,如果我用字符串而不是变量进行硬编码,它就可以工作。
请建议什么是正确的方法?
您需要对代码使用字符串插值/格式化才能将它们用作实际变量:
conn.cursor().execute(
"INSERT INTO cm.crawling_metrics (FEED_DATE, COMP_NAME, REFRESH_TYPE, CRAWL_INPUT, CRAWL_SUCCESS) VALUES " +
f"('{score_creation_date}', '{compName}', '{sRefreshType}', '{mp_sku_count}', '{comp_sku_count}')"
)
Run Code Online (Sandbox Code Playgroud)