Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Teks dengan Petikan Tunggal ke dalam PostgreSQL dengan betul?
Sisipkan teks yang mengandungi petikan tunggal dalam PostgreSQL
Memasukkan nilai yang mengandungi petikan tunggal boleh menjadi rumit dalam PostgreSQL. Walau bagaimanapun, terdapat cara untuk memastikan pelarian yang betul.
Untuk memasukkan nilai yang mengandungi petikan tunggal, gandakan nilai tersebut dalam rentetan:
<code class="language-sql">INSERT INTO test VALUES (1, 'user''s log');</code>
Dalam versi PostgreSQL di mana standard_conforming_strings
ditetapkan kepada off
, atau apabila sintaks rentetan POSIX escaped didayakan menggunakan awalan E
, petikan tunggal boleh dilepaskan menggunakan garis miring ke belakang:
<code class="language-sql">INSERT INTO test VALUES (1, E'user\'s log');</code>
Pilihan lain, terutamanya untuk rentetan kompleks yang mengandungi pelbagai peringkat pelarian, adalah dengan memetik rentetan dengan tanda dolar:
<code class="language-sql">INSERT INTO test VALUES (1, $token$escape ' with ''$token$);</code>
PostgreSQL menyediakan fungsi untuk memetik rentetan dengan betul:
quote_literal()
atau quote_nullable()
: Petik rentetan, atau kembalikan NULL untuk input kosong. %L
dengan penentu format()
: Bersamaan dengan quote_nullable()
. Contohnya:
<code class="language-sql">INSERT INTO test VALUES (1, format('%L', 'user''s log'));</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Teks dengan Petikan Tunggal ke dalam PostgreSQL dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!