Rumah > Soal Jawab > teks badan
P粉2682849302023-08-29 11:03:12
DELIMITER ialah kenyataan pelanggan sahaja, pelayan tidak menyokongnya, maka ralat berlaku. Penyelesaian - padamkannya.
Berikut ialah soalan dengan jawapan yang sangat baik yang menerangkan apa itu DELIMITER dan mengapa ia diperlukan.
Ringkasnya - apabila anda bekerja dengan pelanggan anda memerlukan cara untuk menunjukkan kepadanya "ini bukan pernyataan yang dilaksanakan serta-merta, ini masih hanya satu baris dalam prosedur tersimpan yang anda akan hantar ke pelayan" - jadi anda memberitahu (Pelanggan) "DELIMITER antara penyata ialah $$ buat sementara waktu". Pelayan tidak memerlukan/mengambil berat tentang perkara ini - ia tahu bahawa segala-galanya di antara CREATE PROCEDURE, BEGIN, END
ialah pernyataan yang bersambung, satu blok.
Apabila anda menyambung ke pangkalan data melalui API (pymysql), berbanding dengan klien interaktif (shell, heidisql, dll.) - anda menghantar SP sebagai sebahagian dan tidak ada cara untuk menjalankan kenyataannya satu demi satu, jadi DELIMITER tidak diperlukan, Pelayan tidak menyokong arahan ini dan akan menghasilkan ralat. Padamkannya.