Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapakah SQLite3 Melemparkan Ralat \'Kiraan Nilai Ikatan Tidak Padan\' Semasa Memasukkan Data?

Mengapakah SQLite3 Melemparkan Ralat \'Kiraan Nilai Ikatan Tidak Padan\' Semasa Memasukkan Data?

Linda Hamilton
Lepaskan: 2024-11-29 01:15:13
asal
213 orang telah melayarinya

Why Does SQLite3 Throw a

Ralat SQLite3: Kiraan Nilai Bind Tidak Padan

Apabila memasukkan nilai ke dalam pangkalan data SQLite3 menggunakan kaedah cursor.execute(), adalah penting untuk pastikan bilangan nilai ikatan yang disediakan sepadan dengan nombor yang dinyatakan dalam parameter pernyataan SQL. Jika tidak, anda mungkin menghadapi ralat yang serupa dengan "Bilangan pengikatan yang tidak betul yang dibekalkan."

Pertimbangkan coretan kod berikut:

def insert(array):
    connection=sqlite3.connect('images.db')
    cursor=connection.cursor()
    cnt=0
    while cnt != len(array):
            img = array[cnt]
            print(array[cnt])
            cursor.execute('INSERT INTO images VALUES(?)', (img))
            cnt+= 1
    connection.commit()
    connection.close()
Salin selepas log masuk

Apabila cuba memasukkan rentetan panjang 74, kod ini membuang ralat yang disebutkan di atas. Sebabnya ialah kaedah cursor.execute() menjangkakan jujukan nilai bind, manakala (img) hanyalah ungkapan.

Untuk membetulkannya, kita perlu menukar (img) menjadi tuple atau senarai dengan menambah koma. Berikut ialah kod yang diperbetulkan:

def insert(array):
    connection=sqlite3.connect('images.db')
    cursor=connection.cursor()
    cnt=0
    while cnt != len(array):
            img = array[cnt]
            print(array[cnt])
            cursor.execute('INSERT INTO images VALUES(?)', (img,))  # Add a comma
            cnt+= 1
    connection.commit()
    connection.close()
Salin selepas log masuk

Sebagai alternatif, kita boleh menggunakan literal senarai:

cursor.execute('INSERT INTO images VALUES(?)', [img])
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah SQLite3 Melemparkan Ralat \'Kiraan Nilai Ikatan Tidak Padan\' Semasa Memasukkan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan