Я получаю сообщение об ошибке с mysql.connector 1064 (42000)

#python #mysql #python-3.x #tkinter #mysql-connector

#python #mysql #python-3.x #tkinter #mysql-connector

Вопрос:

Итак, я использую MySQL connector и получаю странную ошибку, потому что раньше я не получал никаких ошибок с этой строкой. Пожалуйста, дайте мне знать, в чем проблема.

 def update(Sno,Passengers,Distance,Cargo,Aircraft):
    myconn=mys.connect(host='localhost',user='root',passwd='adis',database='adis')
    if myconn.is_connected():
        print('Connection successful')
    mycur=myconn.cursor()
    query="update AMAS set Passengers={},Distance={},Cargo={},Aircraft={} where Sno={}".format(Passengers,Distance,Cargo,Aircraft,Sno)
    mycur.execute(query)
    myconn.commit()
    print("AMAS Aircraft Database updated")
 

Моя ошибка:

 Connection successful
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:UsersvinayakAppDataLocalProgramsThonnylibtkinter__init__.py", line 1705, in __call__
    return self.func(*args)
  File "C:UsersvinayakAppDataLocalProgramsThonnylibtkinter__init__.py", line 3442, in __call__
    self.__callback(self.__value, *args)
  File "C:UsersvinayakDocumentsPrograms 12thProject.py", line 146, in exe
    submit()
  File "C:UsersvinayakDocumentsPrograms 12thProject.py", line 127, in submit
    update(Sno,Passengers,Distance,Cargo,Aircraft)
  File "C:UsersvinayakDocumentsPrograms 12thProject.py", line 135, in update
    mycur.execute(query)
  File "C:UsersvinayakAppDataRoamingPythonPython37site-packagesmysqlconnectorcursor.py", line 551, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "C:UsersvinayakAppDataRoamingPythonPython37site-packagesmysqlconnectorconnection.py", line 490, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "C:UsersvinayakAppDataRoamingPythonPython37site-packagesmysqlconnectorconnection.py", line 395, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Distance=,Cargo=,Aircraft= where Sno=' at line 1 
 

Кроме того, я новичок в Stack Overflow, поэтому, пожалуйста, укажите, как я могу улучшить задавать вопросы здесь, не расстраивая других.

Комментарии:

1. Ваши параметры, вероятно, будут пустыми при вызове функции.

2. Даже если параметры не являются пустыми, SQL может быть недействительным, если какой-либо из столбцов имеет тип string . Вместо этого вы должны использовать заполнители.