sql >> Databáze >  >> RDS >> Mysql

jak provést příkaz mysql DELIMITER

Pravděpodobně ne potřeba změnit oddělovač.

Oddělovač je potřeba v CLI, aby bylo možné zjistit, kde končí příkaz SQL, protože CLI bude číst a provádět další příkazy, dokud mu neřeknete, aby se zastavil (např. pomocí exit nebo Control-D). Ale to, co ve skutečnosti čte, je jen proud postav; nějak potřebuje zjistit, kde končí jeden příkaz a kde začíná další. To dělá oddělovač.

V PHP každé volání funkce provede jeden příkaz. V jednom volání funkce nemůže být více příkazů, takže není potřeba způsob, jak je vymezit. Příkaz je celý řetězec. To platí pro starý mysql_query stejně jako novější mysqli_query a CHOP. Samozřejmostí je mysqli_multi_query pokud opravdu chcete předat více dotazů jedné funkci.

V případě uložené procedury/spouštěče/funkce/atd. může existovat více příkazů, ale to zpracovává samotné MySQL (a je vždy ; , POKUD VÍM). Takže pokud jde o PHP, je to stále jeden výrok.

Nastavení oddělovače, které vidíte v phpMyAdmin, se pravděpodobně používá k rozdělení příkazů a pravděpodobně se provádí v kódu PHP. Musí to udělat, protože přijímá uživatelský vstup skládající se z více příkazů, ale musí předat pouze jeden příkaz na volání funkce. (Nekontroloval jsem kód phpMyAdmin, abych si tím byl zcela jistý).



  1. Přednášky:Vylepšení dělení v PostgreSQL 11

  2. základní hromadná vložka pyodbc

  3. Jak vybrat více než 1 záznam za den?

  4. Získejte aktualizovanou hodnotu v MySQL namísto ovlivněných řádků