Fungsi MySQL INSERT() tidak melaksanakan operasi sisipan apabila kedudukan sisipan tidak berada dalam julat panjang rentetan. Terdapat beberapa kes, seperti apabila kita melepasi nilai negatif atau nilai 0 (sifar), atau apabila nilai lebih daripada 2 nilai daripada jumlah bilangan aksara dalam rentetan asal, kita boleh mengatakan bahawa 'pos' bukan dalam panjang tali. Ia boleh difahami melalui contoh berikut:
Pertanyaan di bawah tidak akan melaksanakan operasi sisipan kerana 'pos' tidak berada dalam julat panjang rentetan, iaitu nilai negatif.
mysql> Select INSERT('Tutorialspoint',-1,4,'.com'); +--------------------------------------+ | INSERT('Tutorialspoint',-1,4,'.com') | +--------------------------------------+ | Tutorialspoint | +--------------------------------------+ 1 row in set (0.00 sec)
Pertanyaan di bawah tidak akan melakukan sisipan kerana 'pos' tidak berada dalam panjang rentetan, iaitu 0 (sifar).
mysql> Select INSERT('Tutorialspoint',0,4,'.com'); +-------------------------------------+ | INSERT('Tutorialspoint',0,4,'.com') | +-------------------------------------+ | Tutorialspoint | +-------------------------------------+ 1 row in set (0.00 sec)
Pertanyaan berikut tidak akan melakukan sisipan kerana 'pos' tidak berada dalam panjang rentetan, iaitu nilai 2 lebih daripada bilangan aksara dalam rentetan asal. Dalam contoh di bawah, rentetan asal 'Tutorialspoint' mempunyai 14 aksara dan kami telah memberikan nilai kedudukan sebagai 16 supaya tiada sisipan akan berlaku.
rreeeeAtas ialah kandungan terperinci Jika 'Pos' tidak berada dalam julat panjang rentetan, apakah hasil dalam fungsi INSERT(str, Pos, len, newstr)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!