为什么 MySQL 完全重新格式化 VIEW 查询文本?

Why MySQL completely reformat the VIEW query text?

使用 Firebird 和 SQL 服务器,当我创建一个 VIEW 时,查询文本与我写的完全一样。无论我使用 SQLDBX、IbExpert、FlameRobin 还是 SSMS,它都提取相同的查询文本。

但是当涉及到 MySQL 时,它完全改变了查询文本。当我将它提取到脚本中时,仔细缩进的查询文本会转换成一大行文本。

如果使用ODBC应用程序(SQLDBX)或MySQLWorkBench无所谓,这很烦人。

说完之后:

  1. 有一些关于为什么这样工作的推理?
  2. 有什么解决方法吗?
  1. 因为mysql就是这样设计的。它解释代码并将其转换为规范形式,以便在任何 sql 模式设置下 运行 它,并且在此过程中所有缩进都将丢失。我什至不希望 rdbms 以格式良好的方式存储命令。这不是它的目的。
  2. 在您的版本控制系统中将视图、存储过程、表等缩进代码存储在它们所属的位置。