sql >> データベース >  >> RDS >> Mysql

なぜmysqlが私のコードビューを変更するのですか?

    表示されているのは、SQLがコンパイルされてから逆コンパイルされた結果として発生する問題です。

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

    心配しないでください、それはすべて同等のコードです。例が必要な場合は、JSONを手動で記述し、それをJSONパーサーで実行してから、そのデータをJSONに戻します。オリジナルと同じようには見えません。

    これは、「ラウンドトリップ」と呼ばれるデータの変換における一般的な問題です。追加の作業がないと、コメント、インデント、括弧などの非セマンティック情報(またはそれらの欠如)が失われます。 MySQLは、FROM / WHEREをJOINに変換するなど、最適化とセマンティック変換を適用する場合もあります。また、暗黙のコードとデフォルト(ALGORITHM = UNDEFINEDなど)も作成します。 )明示的。

    ラウンドトリップの結果を確認すると、特に操作の順序に関して、コード内の微妙なバグを見つけるのに役立ちます。逆コンパイラーは、順序を明確にするために括弧を追加するように求められることがあります。

    MySQLにテーブルとビューの元のCREATEを保存する意味はありません。ALTERを使用すると、それらは役に立たなくなります。ただし、元の記述どおりにクエリを返すことは可能です。




    1. PHPMyAdminでファイルサイズの制限をインポートする

    2. MySQLのトランザクション-ロールバックできません

    3. MySQLで正規表現とUPDATEを組み合わせて、FirstnameLastnameにスペースを追加する方法

    4. 間違ったデータベースユーザーを使用しようとしているDjango