Tajuk yang diperbetulkan: Menjelaskan ralat "Nilai DOUBLE salah dipenggal" dalam Penyambung MySQL dengan Python dan menyediakan cara untuk membetulkannya
P粉021708275
P粉021708275 2023-09-12 14:51:28
0
1
626

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粉021708275
P粉021708275

membalas semua(1)
P粉674757114

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan