0

I need to insert data into a Snowflake table using Python connector. I used the following based on this link from Snowflake documentations:

cursor.execute("INSERT INTO survey_metadata(survey_metadata_id, survey_title, date_added, country_id, survey_types_id, survey_status, SECTOR_ABRV_ID,SURVEY_SIZE_BYTES, SURVEY_ROWS_NUMBER, SURVEY_COLS_NUMBER)"
                               "VALUES( %s, %s,%s, %s, %s, %s, %s, %s, %s, %s)", (nextval, filename, now, countries, sectors, survey_status, sectors,  survey_size_bytes,number_of_rows, number_of_columns))

sectors and other binded are variables whereas their values are set using a function executing some commands.

And I have received the following error:

ProgrammingError: 252004: Failed processing pyformat-parameters; 255001: Binding data in type (snowflakecursor) is not supported.

Any idea how to bind multiple variables in an INSERT query into Snowflake table?

1 Answer 1

2

Apparently the main error was because I am getting the next value of a sequence before executing the insert query without looping over it to get the int itself instead of the whole tuple:

nextval = cursor.execute("SELECT AUTO_INCREMENT_ID_FOR_VARIANT_TABLE.nextval")

After doing this:

nextval = list(np.array(list(nextval)))
nextval = nextval[0][0]

The query worked.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.