Det gør du sandsynligvis ikke skal ændre afgrænsningen.
Afgrænsningstegnet er nødvendigt i CLI'en for at fortælle, hvor SQL-sætningen slutter, fordi CLI'en vil blive ved med at læse og udføre flere sætninger, indtil du beder den stoppe (f.eks. med exit
eller kontrol-D). Men hvad den faktisk læser, er bare en strøm af karakterer; det skal på en eller anden måde finde ud af, hvor det ene udsagn slutter og det næste starter. Det er, hvad afgrænseren gør.
I PHP udfører hvert funktionskald én sætning. Der kan ikke være flere udsagn i et funktionskald, så der er ikke behov for en måde at afgrænse dem på. Udsagnet er hele strengen. Dette gælder for den gamle mysql_query
samt den nyere mysqli_query
og BOB. Selvfølgelig er der mysqli_multi_query
hvis du virkelig ønsker at sende flere forespørgsler til én funktion.
I tilfælde af en lagret procedure/trigger/funktion/etc., kan der være flere sætninger, men det håndteres af MySQL selv (og er altid ;
, SÅ VIDT JEG VED). Så for så vidt angår PHP, er det stadig et udsagn.
Den afgrænsningsindstilling, du ser i phpMyAdmin, bliver sandsynligvis brugt til at opdele sætninger fra hinanden, og udføres sandsynligvis i PHP-kode. Det er nødt til at gøre dette, fordi det accepterer brugerinput, der består af flere sætninger, men skal kun sende én sætning pr. funktionskald. (Jeg har ikke tjekket phpMyAdmin-koden for at være helt sikker på dette).