Rumah > Soal Jawab > teks badan
Mesej ralat pertama:
mysql.connector.errors.DataError: 1292 (22007): 截断错误的DOUBLE值: \----------------------------------------------------------------------------------------------
Saya telah mencuba berkali-kali untuk mencari penyelesaian dalam talian dan telah melihat pengguna lain menghadapi masalah yang sama.
Malangnya, ini tidak menyelesaikan masalah saya. Saya telah menemui penyelesaian yang serupa untuk masalah saya dengan menggoogling, tetapi itu tidak membantu sama ada.
Baiklah, masalahnya ialah saya terus mendapat ralat berikut daripada pycharm:
mysql.connector.errors.DataError: 1292 (22007): 截断错误的DOUBLE值:
Apa sebenarnya maksud ini?
Adakah terdapat sesuatu yang salah dengan pangkalan data saya?
Apa masalahnya?
Ini jadual yang saya buat:
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`) );
Saya ingin mengemas kini pengguna menggunakan Python.
Kod adalah seperti berikut:
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")
Saya tidak nampak sebarang kesalahan tatabahasa.
Melihat penyelesaian lain untuk masalah serupa pada Stackoverflow.
Adakah carian Google melalui pengekodan yang salah.
Menukar jadual saya pada mysql.
P粉6747571142023-09-13 09:51:28
Anda mempunyai susunan yang salah dalam data anda:
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")
Pemegang tempat untuk emp_id ialah yang terakhir, tetapi anda meletakkan nilai di kedudukan pertama, jadi anda perlu menukarnya. Selain itu, saya mengalih keluar beberapa kurungan dan koma yang tidak diperlukan.