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

perché mysql cambia la mia visualizzazione del codice?

Quello che stai vedendo sono problemi derivanti dalla compilazione e quindi dalla decompilazione dell'SQL.

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

Non preoccuparti, è tutto codice equivalente. Se vuoi un esempio, scrivi un po' di JSON a mano, eseguilo attraverso un parser JSON, quindi trasforma di nuovo quei dati in JSON. Non sarà uguale all'originale.

Questo è un problema comune nella conversione dei dati noto come "andata e ritorno". Senza lavoro extra, le informazioni non semantiche come commenti, rientri e parentesi (o la loro mancanza) andranno perse. MySQL può anche applicare ottimizzazioni e trasformazioni semantiche, come trasformare il tuo FROM/WHERE in un JOIN. Sta anche creando codice implicito e impostazioni predefinite (come ALGORITHM = UNDEFINED ) esplicito.

Vedere il risultato di un round trip può aiutarti a individuare piccoli bug nel codice, in particolare per quanto riguarda l'ordine delle operazioni. A volte può essere chiesto a un decompilatore di aggiungere parentesi extra per rendere ovvio l'ordine.

Non ha senso che MySQL memorizzi i tuoi CREATE originali per tabelle e viste, diventano inutili se viene utilizzato ALTER. Tuttavia, potrebbe essere possibile restituire le tue domande come originariamente scritte.