本节介绍适用于通用编辑器的首选项选项(参见下图)。
代码编辑器中的 SQL 解析
可以设置的 SQL 属性包括
SQL_MODE
、标识符的区分大小写和使用的 SQL 定界符。
-
语法检查器的默认 SQL_MODE:[
blank
]可以选择为 SQL 编辑器的 SQL 语法检查器配置 SQL_MODE。
文档属性
SqlMode
定义SQL_MODE
了在文档范围内影响 SQL 解析的所有操作。此选项的目的是保持文档中 SQL 语句的一致性。该属性具有以下功能:
在执行逆向工程、正向工程或同步操作时, 将
SQL_MODE
DBMS 会话变量设置为存储在文档属性中的值。SqlMode
遵循中
SQL_MODE
定义的值,SqlMode
以便 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 键插入空格而不是制表符
-
Indent width: [
4
] 使用 tab 键缩进时要插入多少个空格。按 Tab 键后插入的空格数 ——这假定 启用 了Tab键插入空格而不是制表符选项。
-
制表符宽度:[
4
] 制表符有多少个空格宽。MySQL Workbench 中为制表符定义的空格数。