搜尋

首頁  >  問答  >  主體

修正後的標題:解釋MySQL Connector與Python中的"Truncated incorrect DOUBLE value"錯誤,並提供修復方法

第一個錯誤訊息:

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

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

我已經嘗試了多次在網路上尋找解決方案,也看到其他用戶遇到了相同的問題。

不幸的是,這還沒有解決我的問題。 我已經透過谷歌搜尋找到了一個類似於我的問題的解決方案,但也沒有幫助。

好吧,問題是我一直在從pycharm中收到以下錯誤:

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

這具體意味著什麼?

我的資料庫有什麼問題嗎?

是什麼問題?

這是我創建的表:

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

我想用Python更新一個使用者。

程式碼如下:

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

我沒有看到任何語法錯誤。

P粉021708275P粉021708275518 天前697

全部回覆(1)我來回復

  • 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的佔位符是最後一個,但您將值放在了第一個位置,所以您需要進行更改。此外,我刪除了一些不必要的括號和逗號。

    回覆
    0
  • 取消回覆