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

proč mysql mění zobrazení kódu?

To, co vidíte, jsou problémy vyplývající z kompilace a následné dekompilace SQL.

human readable SQL -> compiled form -> human readable SQL

Nebojte se, vše je ekvivalentní kód. Pokud chcete příklad, napište nějaký JSON ručně, spusťte jej přes analyzátor JSON a pak tato data převeďte zpět na JSON. Nebude to vypadat stejně jako originál.

Toto je běžný problém při převodu dat známý jako „round tripping“. Bez práce navíc se nesémantické informace, jako jsou komentáře, odsazení a závorky (nebo jejich nedostatek), ztratí. MySQL může také použít optimalizace a sémantické transformace, jako je přeměna vašeho FROM/WHERE na JOIN. Také vytváří implicitní kód a výchozí hodnoty (např. ALGORITHM = UNDEFINED ) explicitní.

Zobrazení výsledku zpáteční cesty vám může pomoci odhalit jemné chyby ve vašem kódu, zejména v pořadí operací. Dekompilátor může být někdy požádán, aby přidal další závorky, aby bylo pořadí zřejmé.

Nemá smysl v MySQL ukládat vaše původní CREATE pro tabulky a pohledy, při použití ALTER se stanou k ničemu. Může však být možné vrátit vaše dotazy tak, jak byly původně napsány.




  1. Sečtete hodiny ze sledování času do kalendáře podle dne

  2. SequelizeConnectionError:certifikát s vlastním podpisem

  3. jak zajistit, aby se odpočítávací časovač neresetoval při obnovení stránky

  4. MySqlCommand Command.Parameters.Add je zastaralý