Rumah > pangkalan data > tutorial mysql > Bilakah ralat pembatas MySQL berlaku?

Bilakah ralat pembatas MySQL berlaku?

WBOY
Lepaskan: 2023-08-26 08:13:06
ke hadapan
1519 orang telah melayarinya

Bilakah ralat pembatas MySQL berlaku?

Pembatas MySQL berlaku apabila anda menggunakan pembatas paip (|) dengan koma bertitik (;) dan menggunakan versi MySQL lebih awal daripada 8.0.12.

MySQL menganggap paip (|) sebagai pembatas dan koma bertitik (;) sebagai pembatas lain. Oleh itu, jangan kelirukan pembatas MySQL dengan paip dan koma bertitik.

Nota: Di sini, kami menggunakan MySQL versi 8.0.12. Pembatas paip berfungsi dengan baik dengan koma bertitik. Jika anda menggunakan versi lebih awal daripada 8.0.12, ini akan menyebabkan ralat pembatas.

Begini cara pembatas MySQL berfungsi:

mysql> delimiter |;
mysql> create procedure getSumOfTwoNumbers()
   -> begin
   -> select 2+3 as TotalValue;
   -> end ;
   -> |;
Query OK, 0 rows affected (0.17 sec)
mysql> delimiter ;
Salin selepas log masuk

Sekarang panggil prosedur tersimpan menggunakan arahan panggilan. Pertanyaannya adalah seperti berikut:

mysql> call getSumOfTwoNumbers();
Salin selepas log masuk

Berikut adalah outputnya:

+------------+
| TotalValue |
+------------+
|          5 |
+------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Salin selepas log masuk

Jangan gunakan titik bertitik untuk melaksanakan pembatas paip di atas kerana dalam koma bernoktah MySQL ialah pembatas lalai dan ia memberitahu penghujung pernyataan dalam MySQL. Oleh itu, apabila anda menulis berbilang kenyataan, anda boleh menggunakan koma bertitik untuk kembali daripada prosedur tersimpan MySQL.

Berikut ialah contoh perubahan pembatas.

Pertama, gunakan pembatas paip (|). Jika anda ingin menetapkan pemisah kepada paip, gunakan pertanyaan berikut.

mysql> DELIMITER |
Salin selepas log masuk

Pertanyaan untuk mencipta prosedur tersimpan adalah seperti berikut:

mysql> DELIMITER |
mysql> create procedure Demo()
   -> begin
   -> select 2*3 as TotalMultiplication;
   -> end ;
   -> |
Query OK, 0 rows affected (0.12 sec)
Salin selepas log masuk

Sekarang tukar pembatas dengan koma bertitik. Jika anda ingin menetapkan pembatas kepada koma bertitik, gunakan pertanyaan berikut.

Pertanyaan adalah seperti berikut:

mysql> delimiter ;
Salin selepas log masuk

Atas ialah kandungan terperinci Bilakah ralat pembatas MySQL berlaku?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan