@Martin ,
Thankyou for using Microsoft Q&A platform and thanks for posting your question here.
As per my understanding , you are trying to perform upsert while copying data from csv file to multiple SQL table. However, it is failing due to the above stated reason.
From the screenshot of the dataflow, it's not clear that how are you passing the keycolumn in the sink transformation. Kindly share the full screenshot of the pipeline.
Since your requirement is to perform upsert for multiple tables while copying data from muliple files, assuming the schema (number of columns , order of columns or columnnames) might be different for different sink tables , it's important to keep two things assured:
- Mapping should be dynamic in order to handle multiple table scenario
- Key column should be passed dynamically for each of the tables using dataflow parameter. Pass the relevant value for keyColumn via ADF pipeline.
Relevant resources for point 1: Implement Upsert logic in Mapping data flow
Hope it helps. For better implementation ,kindly share the screenshot of what you have tried so far. Please let me know in case any further assistance is required. If it helps, kindly accept the answer. Thankyou