Rumah >pembangunan bahagian belakang >Golang >Mengapa Pernyataan Saya Disediakan Gagal dalam PostgreSQL dengan 'Ralat Sintaks Pemegang Tempat Parameter Pertanyaan'?

Mengapa Pernyataan Saya Disediakan Gagal dalam PostgreSQL dengan 'Ralat Sintaks Pemegang Tempat Parameter Pertanyaan'?

DDD
DDDasal
2024-12-28 09:13:13765semak imbas

Why Does My Prepared Statement Fail in PostgreSQL with a

Ralat Sintaks Pemegang Tempat Parameter Pertanyaan dalam PostgreSQL

Pernyataan SQL yang disediakan cuba untuk melaksanakan pertanyaan dengan pernyataan yang disediakan. Walau bagaimanapun, pernyataan ini menghadapi ralat dalam PostgreSQL disebabkan pemegang tempat parameter yang tidak betul.

MySQL dan PostgreSQL menggunakan sintaks yang berbeza untuk menentukan ruang letak parameter. Walaupun MySQL menggunakan "?" aksara, PostgreSQL menggunakan "$1", "$2", dan seterusnya.

Untuk menyelesaikan isu ini, gantikan "?" pemegang tempat dalam pernyataan SQL dengan "$1", seperti ditunjukkan di bawah:

db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)

Pelarasan ini harus menghapuskan ralat sintaks dan membenarkan pertanyaan untuk dilaksanakan dengan jayanya dalam PostgreSQL.

Selain itu, rahsia mesej ralat yang ditemui dalam PostgreSQL boleh timbul daripada pelbagai sebab. Dalam kes khusus ini, penghurai telah menjadi keliru kerana sintaks parameter yang salah, mengakibatkan mesej ralat samar.

Atas ialah kandungan terperinci Mengapa Pernyataan Saya Disediakan Gagal dalam PostgreSQL dengan 'Ralat Sintaks Pemegang Tempat Parameter Pertanyaan'?. 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