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

MySQL (5.7) ruší uložené procedury přes mysql.proc

Přímé delete z procs Zdá se, že tabulka nemá okamžitý účinek v aktuální relaci MySQL.

propláchnutí příkaz se používá v MySQL k tomu, aby server znovu načetl věci (změna oprávnění přímo pomocí update / delete a flush privileges je asi nejlepší analogie). Nepodařilo se mi však najít žádné verze flush které by ovlivnily uložené procesy založené na dokumentaci. Nemyslím si tedy, že existuje způsob, jak dokončit smazání uloženého procesu v aktuální relaci MySQL.

Skutečným nebezpečím vašeho přístupu k přímému mazání je to, že se spoléhá na nezdokumentovanou funkci MySQL. Tato funkce se může v budoucí verzi MySQL změnit bez jakéhokoli upozornění, takže upgrade nebude možný. Bez skutečného ladění MySQL samotné je také velmi obtížné říci, zda má váš přístup nějaké nezamýšlené vedlejší účinky.

Z těchto důvodů bych nedoporučoval používat tento přístup v produkčním kódu. Pokud se jedná o jednorázové cvičení, může vám to uniknout.




  1. BEGIN/END a CREATE Tabulka v jediném souboru .sql

  2. Rails ignoruje konstanty v příkazu SQL SELECT

  3. MySQL LOAD_FILE vrací hodnotu NULL

  4. Google Cloud SQL PG11:Nelze změnit velikost segmentu sdílené paměti