Maison > Questions et réponses > le corps du texte
Premier message d'erreur :
mysql.connector.errors.DataError: 1292 (22007): 截断错误的DOUBLE值: \----------------------------------------------------------------------------------------------
J'ai essayé à plusieurs reprises de trouver des solutions en ligne et j'ai vu d'autres utilisateurs rencontrer le même problème.
Malheureusement, cela n'a pas résolu mon problème. J'ai trouvé une solution similaire à mon problème en recherchant sur Google, mais cela n'a pas aidé non plus.
D'accord, le problème est que je continue de recevoir l'erreur suivante de pycharm :
mysql.connector.errors.DataError: 1292 (22007): 截断错误的DOUBLE值:
Qu'est-ce que cela signifie exactement ?
Y a-t-il un problème avec ma base de données ?
Quel est le problème ?
Voici le tableau que j'ai créé :
CREATE TABLE `employee` ( `emp_id` INTEGER NOT NULL, `emp_name` VARCHAR (17) NOT NULL, `emp_last_name` VARCHAR (17) NOT NULL, `emp_email` VARCHAR (17) NOT NULL, `emp_status` VARCHAR (17) NOT NULL, PRIMARY KEY (`emp_id`) );
Je souhaite mettre à jour un utilisateur utilisant Python.
Le code est le suivant :
def update function(emp_id, emp_name, emp_last_name, emp_email, emp_status): emp_data = mysqlconn.cursor() sql_update_query = ("UPDATE employee set emp_name = %s, emp_last_name = %s, emp_email = %s, emp_status = %s WHERE emp_id = %s") updated_data = (emp_id, emp_name, emp_last_name, emp_email, emp_status) emp_data.execute(sql_update_query,updated_data,) mysqlconn.commit() print("Data Updated")
Je ne vois aucune erreur grammaticale.
J'ai vu d'autres solutions à des problèmes similaires sur Stackoverflow.
J'ai fait une recherche Google via un mauvais encodage.
J'ai changé ma table sur MySQL.
P粉6747571142023-09-13 09:51:28
Vous avez un mauvais ordre dans vos données :
def update function(emp_id, emp_name, emp_last_name, emp_email, emp_status): emp_data = mysqlconn.cursor() sql_update_query = "UPDATE employee set emp_name = %s, emp_last_name = %s, emp_email = %s, emp_status = %s WHERE emp_id = %s" updated_data = ( emp_name, emp_last_name, emp_email, emp_status, emp_id) emp_data.execute(sql_update_query,updated_data) mysqlconn.commit() print("Data Updated")
L'espace réservé pour emp_id est le dernier, mais vous mettez la valeur en première position, vous devez donc la modifier. De plus, j'ai supprimé certaines parenthèses et virgules inutiles.