#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 . Вместо этого вы должны использовать заполнители.