Heim > Fragen und Antworten > Hauptteil
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.
Sah andere Lösungen für ähnliche Probleme auf Stackoverflow.
Habe eine Google-Suche mit der falschen Kodierung durchgeführt.
Meine Tabelle auf MySQL geändert.
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的占位符是最后一个,但您将值放在了第一个位置,所以您需要进行更改。此外,我删除了一些不必要的括号和逗号。