Выполнение не может экранировать параметризованные строки, такие как выполнение?
Использование Python3 Я пытаюсь вставить список в mysql.
sqlquery = "INSERT INTO vdaytemp (idvoyage,vdaydate,vdaynotes) VALUES (%s, %s, %s)"
val=("21","2020-04-01","Highway 22(apples are green)")
mycursor.execute(sqlquery, val)
Это работает нормально и вставляет текстовая строка с круглыми скобками. Но если я попытаюсь вставить список с помощью executemany, то это помешает.
sqlquery = "INSERT INTO vdaytemp (idvoyage,vdaydate,vdaynotes) VALUES (%s, %s, %s)"
val = [("21","2020-04-01","Highway 22(apples are red)"),("21","2020-04-01","Highway 23(apples are red)")]
mycursor.executemany(sqlquery, val)
/usr/local/lib/python3.7/site-packages/mysql/connector/connection_cext.py in prepare_for_mysql(self, params)
624 """
625 if isinstance(params, (list, tuple)):
--> 626 result = self._cmysql.convert_to_mysql(*params)
627 elif isinstance(params, dict):
628 result = {}
AttributeError: 'NoneType' object has no attribute 'convert_to_mysql'
Это сработает, если я уберу скобки из строки. Я собираюсь придумать другой способ сделать это?