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
Barbara Streisandasal
2025-01-19 06:26:13694semak imbas

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:

INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;

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:

INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);

Kemas kini baris sedia ada

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

UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;

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:

INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145

Gunakan lajur autokenaikan

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

INSERT INTO Users SET weight=160, desiredWeight=145

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!

Kenyataan:
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