Maison  >  Questions et réponses  >  le corps du texte

Titre corrigé : erreur "Valeur DOUBLE incorrecte tronquée" dans le connecteur MySQL avec Python expliquée et comment y remédier

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.

P粉021708275P粉021708275404 Il y a quelques jours556

répondre à tous(1)je répondrai

  • P粉674757114

    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.

    répondre
    0
  • Annulerrépondre