Pembatas dalam MySQL
Dalam MySQL, pembatas merujuk kepada aksara yang mentakrifkan sempadan pernyataan SQL. Secara lalai, MySQL menggunakan koma bertitik (;) sebagai pembatas, tetapi pengguna boleh menentukan pembatas tersuai untuk senario tertentu.
Peranan pembatas
Apabila mentakrifkan berbilang pernyataan dalam skrip SQL, seperti mencipta prosedur tersimpan, fungsi dan pencetus, pembatas memainkan peranan penting. Apabila menggunakan koma bertitik lalai sebagai pembatas, MySQL menganggap setiap pernyataan sebagai pertanyaan berasingan dan melaksanakannya secara berasingan.
Dalam kes ini, pemisah tersuai menjadi perlu untuk menandakan tamatnya keseluruhan skrip atau proses. Ini memastikan MySQL mengenali dan melaksanakan skrip lengkap sebagai satu unit, dan bukannya memproses pernyataan individu secara berasingan.
Pemisah tersuai
Pembangun boleh mentakrifkan mana-mana aksara unik atau jujukan aksara sebagai pembatas tersuai menggunakan kata kunci DELIMITER. Contohnya, $$ atau // boleh digunakan sebagai pembatas. Setelah ditakrifkan, semua pernyataan dalam skrip ini mesti berakhir dengan pembatas tersuai dan bukannya lalai;.
Contoh
Coretan kod berikut menunjukkan cara menggunakan pembatas tersuai $$ untuk mentakrifkan prosedur tersimpan:
DELIMITER $$ /* 删除现有过程 */ DROP PROCEDURE my_procedure$$ /* 创建新过程 */ CREATE PROCEDURE my_procedure () BEGIN /* 过程中的语句以;结尾 */ CREATE TABLE table1 (col1 INT, col2 INT); INSERT INTO table1 ...; END$$ /* 将分隔符重置为默认的; */ DELIMITER ;
Nota tentang sekatan
Perlu diambil perhatian bahawa kata kunci DELIMITER digunakan terutamanya dalam klien baris arahan MySQL. Percubaan untuk menggunakannya melalui API bahasa pengaturcaraan atau pelanggan lain boleh mengakibatkan ralat sintaks. Sebagai contoh, PHPMyAdmin menyediakan kaedahnya untuk menentukan pembatas bukan lalai.
Atas ialah kandungan terperinci Bagaimana Pembatas Berfungsi dalam MySQL dan Bila Anda Perlu Menggunakan Pembatas Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!