本节介绍适用于通用编辑器的首选项选项(参见下面的图)。
代码编辑器中的 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_QUOTES
、HIGH_NOT_PRECEDENCE
、IGNORE_SPACE
、NO_BACKSLASH_ESCAPES
、PIPES_AS_CONCAT
。其他值不会影响 MySQL Workbench SQL 解析器,会被忽略。如果未设置
SqlMode
的值,则在与服务器进行操作时,服务器定义的SQL_MODE
会话变量的默认值保持不变。但是,MySQL Workbench SQL 解析器表现得好像SQL_MODE
也未设置。这可能会导致文档中存储的 SQL 语句的解析不一致。如果您选择不设置SqlMode
属性,请确保服务器定义的默认SQL_MODE
变量不包含以下列表中的任何值:ANSI_QUOTES
、HIGH_NOT_PRECEDENCE
、IGNORE_SPACE
、NO_BACKSLASH_ESCAPES
、PIPES_AS_CONCAT
。SqlMode
属性定义在两个位置:全局和文档范围。MySQL Workbench 使用全局属性来初始化为每个新创建的文档初始化文档属性。对于每个文档,在文档范围内定义的属性值始终优先于在全局范围内定义的属性值。 SQL 标识符区分大小写:默认情况下启用。是否在标识符的名称仅在字母大小写上有所不同时将它们区分对待。
非标准 SQL 分隔符:[
$$
]。定义 SQL 语句分隔符,使其不同于通常使用分隔符(例如;
字符)。如果通常使用的分隔符(特别是在存储例程中)恰好是当前设置,请更改此值。
缩进
Tab 键插入空格而不是制表符
-
缩进宽度: [
4
] 使用 Tab 键缩进时插入多少个空格。按下 Tab 键后插入的空格数——这假设 Tab 键插入空格而不是制表符 选项已启用。
-
制表符宽度: [
4
] 制表符字符的宽度为多少个空格。MySQL Workbench 中为制表符字符定义的空格数。