Я пытаюсь вставить данные в таблицу с условием (NOT IN) , чтобы избежать вставки повторяющихся данных
nvalue = data.value
nature = data.type
sid = data.Id
cursor.execute("INSERT INTO TABLE_NAME1 (ID, FieldName, FieldValue) VALUES (?, ?, ?) WHERE sid NOT IN (SELECT ID FROM TABLE_NAME1 )", (sid, nature, nvalue)
connection.commit()
ОШИБКА :
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Incorrect syntax near the keyword 'WHERE'. (156) (SQLExecDirectW); [42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Statement(s) could not be prepared. (8180)")
Также попытался заменить "sid" в предложении where на "?" :
cursor.execute("INSERT INTO TABLE_NAME1 (ID, FieldName, FieldValue) VALUES (?, ?, ?) WHERE ? NOT IN (SELECT Id FROM TABLE_NAME1)", (sid, nature, nvalue, sid)