Apabila cuba mengemas kini berbilang baris menggunakan ungkapan VALUES, PostgreSQL mungkin menghadapi ralat apabila nilai yang disediakan termasuk nol . Ini kerana PostgreSQL memperuntukkan jenis data secara automatik berdasarkan nilai literal dalam ungkapan, yang boleh membawa kepada ketidakkonsistenan apabila cuba memadankan null dengan jenis lajur sebenar.
Untuk menangani isu ini, pertimbangkan teknik ini:
Soal skema_maklumat atau pg_catalog untuk menentukan jenis lajur jadual sasaran. Ini membolehkan anda menghantar nilai secara eksplisit dalam ungkapan VALUES kepada jenis yang betul.
Buat subquery yang mendapatkan semula satu baris dengan nilai nol untuk mewujudkan jenis lajur. Kemudian, gunakan UNION ALL untuk menambahkan baris yang tinggal dengan nilai data sebenar. Ini memastikan bahawa jenis lajur ditakrifkan dengan betul.
Sediakan jenis lajur untuk setiap nilai dalam ungkapan VALUES. Ini membolehkan PostgreSQL menyelesaikan jenis tanpa kesamaran.
Ekodkan setiap baris dalam ungkapan VALUES sebagai jenis baris yang sepadan dengan jadual sasaran. Ini secara tersirat memberikan jenis lajur yang betul.
Serupa dengan teknik 4, tetapi hanya nyatakan jenis lajur yang berkaitan dalam ungkapan VALUES. Ambil jenis baris untuk jadual sasaran dan ekstrak jenis lajur yang diperlukan untuk penghantaran.
Dengan menggunakan salah satu kaedah ini, anda boleh menyelesaikan isu penghantaran jenis nol dengan berkesan dalam pertanyaan kemas kini berbilang baris dan memastikan kemas kini data yang konsisten .
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat Casting Jenis Null dalam Pertanyaan KEMASKINI Berbilang baris PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!