Titre corrigé : erreur "Valeur DOUBLE incorrecte tronquée" dans le connecteur MySQL avec Python expliquée et comment y remédier
P粉021708275
P粉021708275 2023-09-12 14:51:28
0
1
588

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粉021708275
P粉021708275

répondre à tous(1)
P粉674757114

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal