搜索

首页  >  问答  >  正文

修正后的标题:解释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粉021708275449 天前610

全部回复(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
  • 取消回复