suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Korrigierter Titel: Fehler „Abgeschnittener falscher DOUBLE-Wert“ im MySQL Connector mit Python erklärt und wie man ihn behebt

Erste Fehlermeldung:

mysql.connector.errors.DataError: 1292 (22007): 截断错误的DOUBLE值:

\----------------------------------------------------------------------------------------------

Ich habe viele Male versucht, online Lösungen zu finden, und habe gesehen, dass andere Benutzer auf das gleiche Problem gestoßen sind.

Leider hat das mein Problem nicht gelöst. Ich habe durch Googeln eine ähnliche Lösung für mein Problem gefunden, aber auch das hat nicht geholfen.

Okay, das Problem ist, dass ich ständig die folgende Fehlermeldung von Pycharm erhalte:

mysql.connector.errors.DataError: 1292 (22007): 截断错误的DOUBLE值:

Was genau bedeutet das?

Stimmt etwas mit meiner Datenbank nicht?

Was ist das Problem?

Das ist die Tabelle, die ich erstellt habe:

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`)
);

Ich möchte einen Benutzer mit Python aktualisieren.

Der Code lautet wie folgt:

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")

Ich sehe keine Grammatikfehler.

P粉021708275P粉021708275449 Tage vor607

Antworte allen(1)Ich werde antworten

  • P粉674757114

    P粉6747571142023-09-13 09:51:28

    您的数据中有错误的顺序:

    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")

    emp_id的占位符是最后一个,但您将值放在了第一个位置,所以您需要进行更改。此外,我删除了一些不必要的括号和逗号。

    Antwort
    0
  • StornierenAntwort