Det gör du förmodligen inte måste ändra avgränsaren.
Avgränsaren behövs i CLI för att tala om var SQL-satsen slutar, eftersom CLI kommer att fortsätta läsa och köra fler satser tills du säger åt den att sluta (t.ex. med exit
eller kontroll-D). Men vad den faktiskt läser är bara en ström av karaktärer; det måste på något sätt ta reda på var ett påstående slutar och nästa börjar. Det är vad avgränsaren gör.
I PHP kör varje funktionsanrop en sats. Det kan inte finnas flera satser i ett funktionsanrop, så det finns inget behov av ett sätt att avgränsa dem. Uttalandet är hela strängen. Detta gäller den gamla mysql_query
samt den nyare mysqli_query
och PDO. Naturligtvis finns det mysqli_multi_query
om du verkligen vill skicka flera frågor till en funktion.
I fallet med en lagrad procedur/trigger/funktion/etc., kan det finnas flera satser, men det hanteras av MySQL själv (och är alltid ;
, SÅ VITT JAG VET). Så vad PHP beträffar är det fortfarande ett påstående.
Avgränsningsinställningen du ser i phpMyAdmin används förmodligen för att dela isär uttalanden och görs förmodligen i PHP-kod. Den måste göra detta eftersom den accepterar användarinmatning som består av flera satser, men måste bara skicka en sats per funktionsanrop. (Jag har inte kontrollerat phpMyAdmin-koden för att vara helt säker på detta).