Rumah > pangkalan data > tutorial mysql > Mengapa Pernyataan INSERT MySQL Python Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pernyataan INSERT MySQL Python Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Lepaskan: 2024-12-09 14:57:12
asal
598 orang telah melayarinya

Why Does My Python MySQL INSERT Statement Fail, and How Can I Fix It?

Memasukkan Data ke dalam Pangkalan Data MySQL

Pernyataan Masalah

Apabila cuba memasukkan nilai 188 dan 90 ke dalam pangkalan data MySQL menggunakan skrip Python, kod gagal dilaksanakan dengan jayanya. Coretan kod berikut menggambarkan percubaan yang tidak berjaya:

import MySQLdb
conn = MySQLdb.connect(host= "localhost",
                  user="root",
                  passwd="newpassword",
                  db="engy1")
x = conn.cursor()
x.execute("SELECT *  FROM anooog1")
x.execute (" INSERT INTO anooog1 VALUES ('%s','%s') ", (188,90))
row = x.fetchall()
Salin selepas log masuk

Penyelesaian

Isu timbul kerana ralat dalam pertanyaan SQL yang digunakan untuk sisipan. Sintaks yang betul untuk memasukkan data ke dalam jadual MySQL adalah seperti berikut:

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
Salin selepas log masuk

Dalam kod yang disediakan, petikan tunggal ('') di sekeliling nilai adalah tidak betul. Mengalih keluarnya akan membolehkan pertanyaan dilaksanakan dengan jayanya.

Selain itu, mekanisme pengendalian pengecualian telah ditambahkan untuk mengelakkan ralat yang tidak dijangka daripada mengembalikan semula perubahan yang dibuat pada pangkalan data. Kod yang diubah suai di bawah menunjukkan pelaksanaan yang betul:

import MySQLdb
conn = MySQLdb.connect(host= "localhost",
                  user="root",
                  passwd="newpassword",
                  db="engy1")
x = conn.cursor()

try:
   x.execute("""INSERT INTO anooog1 VALUES (%s,%s)""",(188,90))
   conn.commit()
except:
   conn.rollback()

conn.close()
Salin selepas log masuk

Kod yang disemak ini harus berjaya memasukkan nilai 188 dan 90 ke dalam jadual MySQL yang ditentukan.

Atas ialah kandungan terperinci Mengapa Pernyataan INSERT MySQL Python Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?. 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