Mysqls standardavgränsare är ;
som används för en sats på kommandoraden , något som
select * from users ;
När du skriver en trigger eller lagrad procedur för att exekvera hela koden måste mysql förstå att det är ett block med kod/fråga.
Om ingen avgränsare tillhandahålls då mysql stöter på någon ;
inuti butiksproceduren eller utlösaren kommer den att tro att det är ett uttalande och kommer att försöka köra det. Så vi måste tillhandahålla en avgränsare för butiksprocedur eller trigger och få mysql att förstå att allt inom den avgränsaren är en komplett uppsättning kod.
Så i ditt exempel
SELECT * FROM products;
det kommer att vara en del av den fullständiga satsen när det finns en annan avgränsare än ;
finns i början.