MySQL Workbench 手册  /  ...  /  通用编辑器首选项

3.2.1 通用编辑器首选项

本节介绍适用于通用编辑器的首选项选项(参见下面的图)。

图 3.5 首选项:通用编辑器

Content is described in the surrounding text.

代码编辑器中的 SQL 解析

可以设置的 SQL 属性包括 SQL_MODE、标识符的大小写敏感性和使用的 SQL 分隔符。

  • 语法检查器的默认 SQL_MODE: [ 空白 ]

    可以选择为 SQL 编辑器的 SQL 语法检查器配置 SQL_MODE。

    文档属性 SqlMode 定义了 SQL_MODE,用于影响文档范围内的所有 SQL 解析操作。此选项的目的是在文档内保持 SQL 语句的一致性。

    该属性具有以下功能

    • 在执行逆向工程、正向工程或同步操作时,将 SQL_MODE DBMS 会话变量设置为文档的 SqlMode 属性中存储的值。

    • 遵守 SqlMode 中定义的 SQL_MODE 值,以便 SQL 解析正确。

    所有可能的 SQL_MODE 值中,只有一部分会影响 MySQL Workbench SQL 解析器。这些值是:ANSI_QUOTESHIGH_NOT_PRECEDENCEIGNORE_SPACENO_BACKSLASH_ESCAPESPIPES_AS_CONCAT。其他值不会影响 MySQL Workbench SQL 解析器,会被忽略。

    如果未设置 SqlMode 的值,则在与服务器进行操作时,服务器定义的 SQL_MODE 会话变量的默认值保持不变。但是,MySQL Workbench SQL 解析器表现得好像 SQL_MODE 也未设置。这可能会导致文档中存储的 SQL 语句的解析不一致。如果您选择不设置 SqlMode 属性,请确保服务器定义的默认 SQL_MODE 变量不包含以下列表中的任何值:ANSI_QUOTESHIGH_NOT_PRECEDENCEIGNORE_SPACENO_BACKSLASH_ESCAPESPIPES_AS_CONCAT

    SqlMode 属性定义在两个位置:全局和文档范围。MySQL Workbench 使用全局属性来初始化为每个新创建的文档初始化文档属性。对于每个文档,在文档范围内定义的属性值始终优先于在全局范围内定义的属性值。

  • SQL 标识符区分大小写:默认情况下启用。是否在标识符的名称仅在字母大小写上有所不同时将它们区分对待。

  • 非标准 SQL 分隔符:[$$]。定义 SQL 语句分隔符,使其不同于通常使用分隔符(例如 ; 字符)。如果通常使用的分隔符(特别是在存储例程中)恰好是当前设置,请更改此值。

缩进

  • Tab 键插入空格而不是制表符

  • 缩进宽度: [4] 使用 Tab 键缩进时插入多少个空格。

    按下 Tab 键后插入的空格数——这假设 Tab 键插入空格而不是制表符 选项已启用。

  • 制表符宽度: [4] 制表符字符的宽度为多少个空格。

    MySQL Workbench 中为制表符字符定义的空格数。