第一个错误信息:
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")
我没有看到任何语法错误。
看到了其他在Stackoverflow上的类似问题的解决方案。
通过错误编码进行了谷歌搜索。
在mysql上更改了我的表。
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的占位符是最后一个,但您将值放在了第一个位置,所以您需要进行更改。此外,我删除了一些不必要的括号和逗号。