Domyślnym ogranicznikiem Mysql jest ;
który jest używany dla jednej instrukcji w wierszu poleceń , coś jak
select * from users ;
Kiedy piszesz wyzwalacz lub procedurę składowaną do wykonania całego kodu, mysql musi zrozumieć, że jest to blok kodu/zapytania.
Jeśli nie podano separatora, to gdy mysql napotka dowolny ;
wewnątrz procedury sklepu lub wyzwalacza, uzna to za jedną instrukcję i spróbuje ją wykonać. Musimy więc zapewnić ogranicznik dla procedury sklepowej lub wyzwalacza i sprawić, by mysql zrozumiał, że wszystko w tym ograniczniku jest jednym kompletnym zestawem kodu.
Więc w twoim przykładzie
SELECT * FROM products;
będzie częścią kompletnej instrukcji, gdy istnieje separator inny niż ;
jest podany na początku.