sql >> Database teknologi >  >> RDS >> Mysql

hvorfor ændre mysql min kodevisning?

Det, du ser, er problemer som følge af, at SQL'en kompileres og derefter dekompileres.

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

Bare rolig, det hele er tilsvarende kode. Hvis du vil have et eksempel, skal du skrive noget JSON i hånden, køre det gennem en JSON-parser og derefter omdanne disse data tilbage til JSON. Det vil ikke se det samme ud som originalen.

Dette er et almindeligt problem ved konvertering af data kendt som "rundtur". Uden ekstra arbejde går ikke-semantisk information som kommentarer, indrykning og parenteser (eller manglen på dem) tabt. MySQL kan også anvende optimeringer og semantiske transformationer, såsom at omdanne din FRA/HVOR til en JOIN. Den laver også implicit kode og standardindstillinger (såsom ALGORITHM = UNDEFINED ) eksplicit.

At se resultatet af en rundrejse kan hjælpe dig med at se subtile fejl i din kode, især om rækkefølgen af ​​operationer. En decompiler kan nogle gange blive bedt om at tilføje ekstra parentes for at gøre rækkefølgen tydelig.

Det nytter ikke at MySQL gemmer dine originale CREATEs til tabeller og visninger, de bliver ubrugelige, hvis ALTER bruges. Det kan dog være muligt at returnere dine forespørgsler som oprindeligt skrevet.




  1. Hvad er LEN()-ækvivalenten i MySQL?

  2. Django og skrivebeskyttede databaseforbindelser

  3. SQL Server AlwaysOn ( Tilgængelighedsgruppe ) arkitektur og trin for trin installation - 3 Manuel fejl over trin

  4. Mærkelige karakterer i mysql dbase