本節描述適用於一般用途編輯器的偏好設定選項(請參閱下圖)。
程式碼編輯器中的 SQL 剖析
可以設定的 SQL 屬性包括 SQL_MODE、識別符號的大小寫敏感性以及所使用的 SQL 分隔符號。
-
語法檢查器的預設 SQL_MODE:[
空白]您可以選擇性地為 SQL 編輯器的 SQL 語法檢查器設定 SQL_MODE。
文件屬性
SqlMode定義了在文件範圍內影響 SQL 剖析的所有操作的SQL_MODE。此選項的目的是維護文件中 SQL 陳述式的一致性。該屬性具有以下功能
在執行反向工程、正向工程或同步操作時,將
SQL_MODEDBMS 工作階段變數設定為文件中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 中為定位點字元定義的空格數。
