Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan INSERT MySQL Saya Gagal dengan Klausa WHERE?

Mengapa Pertanyaan INSERT MySQL Saya Gagal dengan Klausa WHERE?

Barbara Streisand
Lepaskan: 2025-01-19 06:26:13
asal
604 orang telah melayarinya

Why Does My MySQL INSERT Query Fail with a WHERE Clause?

Pertanyaan INSERT MySQL bercanggah dengan klausa WHERE

Apabila cuba memasukkan data ke dalam pangkalan data MySQL menggunakan pertanyaan yang serupa dengan:

<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;</code>
Salin selepas log masuk

Anda mungkin menerima mesej ralat jika klausa WHERE hadir. Ini kerana sintaks INSERT MySQL tidak menyokong klausa WHERE.

Barisan baharu

Jika niatnya adalah untuk mencipta baris baharu dengan ID yang ditentukan, pertanyaan yang betul akan kelihatan seperti ini:

<code class="language-sql">INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);</code>
Salin selepas log masuk

Kemas kini baris sedia ada

Untuk mengubah suai nilai dalam baris sedia ada, pernyataan KEMASKINI harus digunakan:

<code class="language-sql">UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;</code>
Salin selepas log masuk

MASUKKAN ... PADA KUNCI DUPLICATE

Sebagai alternatif, anda boleh menggunakan sintaks INSERT ... ON DUPLICATE KEY untuk memasukkan atau mengemas kini baris berdasarkan kunci unik atau utama:

<code class="language-sql">INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145</code>
Salin selepas log masuk

Gunakan lajur autokenaikan

Jika lajur id dalam jadual ditetapkan kepada kenaikan automatik, anda boleh meninggalkannya daripada pertanyaan INSERT dan biarkan MySQL mengendalikan kenaikan:

<code class="language-sql">INSERT INTO Users SET weight=160, desiredWeight=145</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Pertanyaan INSERT MySQL Saya Gagal dengan Klausa WHERE?. 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