<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                與其它數據庫不同,MySQL 服務器可以在不同的 SQL 模式下運行,并且可以針對不同的客戶端以不同的方式應用這些模式,具體取決于 sql\_mode 系統變量的值。 SQL 模式定義了 MySQL 數據庫所支持的 SQL 語法和數據校驗(數據驗證檢查),這樣可以更容易的在不同環境下使用 MySQL。 在 MySQL 中,SQL 模式常用來解決下面幾類問題: * 通過設置 SQL Mode,可以完成不同嚴格程度的數據校驗,有效地保障了數據的準確性。 * 通過設置 SQL Mode 為 ANSI 模式,可以保證大多數 SQL 符合標準的 SQL 語法,使不同數據庫之間進行遷移時,不需要進行較大的修改。 * 在不同數據庫之間進行數據遷移之前,設置 SQL Mode 可以使 MySQL 中的數據更方便地遷移到目標數據庫中。 ## sql\_mode 系統變量的常用值 下面列出了幾種 SQL 模式常用的值。 #### 1) TRICT\_ ALL\_TABLES 和 STRICT\_ TRANS\_TABLES 如果將 sql\_mode 的值設置為 TRICT\_ALL\_TABLES 和 STRICT\_TRANS\_TABLES,那么 MySQL將啟用“嚴格”模式。在嚴格模式下,MySQL 服務器會更加嚴格地對待接收到的不合格數據,它不會把這些不合格的數據轉換為最為接近的有效值,而是會拒絕接收它們。 簡單來說 MySQL 的嚴格模式就是 MySQL 自身對數據進行的嚴格校驗,例如格式、長度和類型等。 #### 2) TRADITIONAL 類似于嚴格模式,但是對于插入的不合格值會給出錯誤而不是警告。可以應用在事務表和非事務表,用于事務表時,只要出現錯誤就會立即回滾。 如果你使用的是非事務存儲引擎,建議不要把 SQL Mode 值設置為 TRADITIONAL,因為出現錯誤前進行的操作不會回滾,這樣會導致操作只進行了一部分。 #### 3) ANSI\_QUOTES MySQL 服務器會把雙引號識別為一個標識符引用字符,而不是字符串的引號字符。所以在啟用 ANSI\_QUOTES 時,不能用雙引號來引用字符串。 #### 4) PIPES\_ AS\_ CONCAT 會讓 MySQL 服務器把`||`當成一個標準的 SQL 字符串連接運算符,而不會把它當成是 OR 運算符的同義詞。 在 Oracle 等數據庫中,`||`被視為字符串的連接操作符,所以在其它數據庫中含有`||`操作符的 SQL 在 MySQL 中將無法執行,為了解決這個問題,MySQL 提供了這個值。 #### 5) ANSI 會同時啟用 ANSI\_QUOTES、PIPES\_ AS\_CONCAT 和其它的幾個模式值,使 MySQL 服務器的行為比它的默認運行狀態更接近于標準 SQL。 ## 如何設置 sql\_mode 在設置 SQL 模式時,需要指定一個由單個模式值或多個模式值(多個模式值用逗號分隔)構成的值,或者指定一個空字符串,用以清除該值。模式值不區分大小寫。 如果想在啟動服務器時設置 SQL 模式,那么可以在 mysqld 命令行,或者在某個選項文件里設置系統變量 sql\_mode。可以使用下面語句: sql\_mode= "TRADITIONAL " sql\_mode= "ANSI\_ QUOTES, PIPES\_ AS\_ CONCAT" 如果只是想在運行時更改 SQL 模式,那么可以使用 SET 語句來設置 sql\_mode 系統變量。 SET sql\_mode = ' TRADITIONAL' ; 如果想設置全局性的 SQL 模式,則需要加上 GLOBAL 關鍵字: SET GLOBAL sql\_mode = ' TRADITIONAL'; 設置全局變量需要具備 SUPER 管理權限。新設置的全局變量值將成為此后連入客戶端的默認 SQL 模式。 如果想獲取當前會話或全局的 SQL 模式值,則可以使用如下語句: SELECT @@SESSION.sql\_mode; SELECT @@GLOBAL. sql\_mode; 其返回值由當前啟用的所有模式構成,兩個模式之間以逗號隔開。如果當前沒有啟用任何模式,則返回一個空值。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看