Не используйте встроенную функцию Python format
для установки значений в строке запроса.Это открывает ваше приложение для целого класса ошибок и проблем безопасности, известных как атаки с использованием SQL / CQL.
Вместо этого драйвер DataStax Python поддерживает параметризованные запросы.
Session.execute(...)
принимает параметр parameters
, который позволяет указать последовательность или dict значений для замены.
Например, ваш запрос должен выглядеть следующим образом:
session.execute("UPDATE query3 SET movietitle = %s WHERE itemid = %s and userid in (1, 2000)", parameters=(cols[1], id))
Также рассмотрите возможность использования подготовленных операторов , если вам нужно выполнить один и тот же запрос несколько раз.Они имеют преимущество в производительности.