Melepaskan Peratus Tersurat dan Menggariskan Aksara dalam MySQL dengan Mod NO_BACKSLASH_ESCAPES
Apabila MySQL berjalan dalam mod NO_BACKSLASH_ESCAPES, kaedah peratusan standard untuk melarikan diri secara literal (%) dan garis bawah (_) aksara menggunakan aksara sengkang ke belakang (). tidak terpakai. Artikel ini menyediakan cara alternatif untuk melepaskan aksara ini secara khusus dalam mod ini.
Isu
Pertimbangkan contoh berikut: Lajur dalam jadual MySQL mengandungi nilai seperti "5 % diskaun" dan "50% diskaun." Pertanyaan SEPERTI berikut, yang menggunakan aksara melarikan diri segaris ke belakang standard, tidak akan berfungsi dalam mod NO_BACKSLASH_ESCAPES:
SELECT * FROM mytable WHERE mycol LIKE '5\% off'
Penyelesaian
Dalam mod NO_BACKSLASH_ESCAPES, anda boleh melarikan diri peratus dan gariskan watak menggunakan urutan pelarian yang berbeza. Satu pilihan ialah menggunakan aksara sengkang terbalik yang didahului oleh kata kunci melarikan diri. Contohnya:
SELECT * FROM mytable WHERE mycol LIKE '5\% off' ESCAPE '\'
Penyelesaian Alternatif
Sebagai alternatif, anda boleh menggunakan aksara lain untuk melarikan diri, seperti aksara paip (|). Pertanyaan di bawah akan berfungsi tanpa mengira tetapan mod NO_BACKSLASH_ESCAPES:
SELECT * FROM mytable WHERE mycol LIKE '5|% off' ESCAPE '|'
Dengan menggunakan teknik ini, anda boleh melepaskan peratus literal dan menggariskan aksara dengan berkesan dalam pertanyaan MySQL walaupun dalam mod NO_BACKSLASH_ESCAPES.
Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri Peratusan dan Gariskan Aksara dalam Mod NO_BACKSLASH_ESCAPES MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!