Rumah > pangkalan data > tutorial mysql > Mengapa Pernyataan INSERT PostgreSQL Saya Gagal dengan 'ERROR: lajur 'pengguna2' tidak wujud'?

Mengapa Pernyataan INSERT PostgreSQL Saya Gagal dengan 'ERROR: lajur 'pengguna2' tidak wujud'?

Barbara Streisand
Lepaskan: 2024-12-30 22:58:10
asal
568 orang telah melayarinya

Why Does My PostgreSQL INSERT Statement Fail with

Tidak Dapat Memasukkan Data: Ralat "ERROR: lajur "nilai" tidak wujud"

Apabila cuba memasukkan data ke dalam "pengguna " jadual menggunakan pertanyaan berikut:

INSERT INTO users (user_name, name, password,email) 
    VALUES ("user2", "first last", "password1", "[email protected]");
Salin selepas log masuk

pengguna menghadapi mesej ralat yang menyatakan: "RALAT: lajur "pengguna2" tidak wujud." Ralat ini menunjukkan bahawa lajur yang dinyatakan dalam pertanyaan ("user2") tidak sepadan dengan mana-mana lajur sedia ada dalam jadual "pengguna".

Setelah memeriksa skema jadual, kami mendapati bahawa lajur "nama_pengguna" ditentukan sebagai "perbezaan watak(50)", yang bermaksud ia menerima data teks. Walau bagaimanapun, dalam pertanyaan kami, kami cuba memasukkan rentetan "user2" tanpa melampirkannya dalam petikan tunggal. Di sinilah ralat timbul.

Pertanyaan Betul Menggunakan Petikan Tunggal:

Menurut konvensyen PostgreSQL, pemalar aksara memerlukan petikan tunggal disertakan dalam. Oleh itu, pertanyaan yang diperbetulkan hendaklah:

INSERT INTO users(user_name, name, password,email) VALUES ('user2','first last','password1', '[email protected]' );
Salin selepas log masuk

Dengan melampirkan nilai "pengguna2" dalam petikan tunggal, kami secara eksplisit menunjukkan kepada PostgreSQL bahawa ini ialah pemalar aksara dan bukan nama lajur.

Nota Tambahan:

  • Rujuk kepada Dokumentasi PostgreSQL untuk penjelasan lanjut tentang pemalar aksara: postgresql.org/docs/current/static/datatype-character.html
  • Berhati-hati apabila menggunakan petikan berganda dengan PostgreSQL, kerana ia biasanya dikhaskan untuk pengecam (cth., jadual nama, nama lajur). Menggunakan petikan berganda untuk pemalar aksara boleh membawa kepada ralat yang tidak dijangka.

Atas ialah kandungan terperinci Mengapa Pernyataan INSERT PostgreSQL Saya Gagal dengan 'ERROR: lajur 'pengguna2' tidak wujud'?. 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