欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          教你一招搞定mysql中的sql_mode設(shè)置

          sql_mode是個(gè)很容易被忽視的變量,默認(rèn)值是空值,在這種設(shè)置下是可以允許一些非法操作的,比如允許一些非法數(shù)據(jù)的插入。在生產(chǎn)環(huán)境必須將這個(gè)值設(shè)置為嚴(yán)格模式,所以開發(fā)、測(cè)試環(huán)境的數(shù)據(jù)庫(kù)也必須要設(shè)置,這樣在開發(fā)測(cè)試階段就可以發(fā)現(xiàn)問題。

          1,執(zhí)行SQL查看

          select @@session.sql_mode;

          全局級(jí)別: 查看

          select @@global.sql_mode;

          2,修改

          set @@session.sql_mode='xx_mode' set session sql_mode='xx_mode'

          全局級(jí)別:修改

          set global sql_mode='xx_mode'; set @@global.sql_mode='xx_mode';

          session均可省略,默認(rèn)session,僅對(duì)當(dāng)前會(huì)話有效
          全局修改的話,需高級(jí)權(quán)限,僅對(duì)下次連接生效,不影響當(dāng)前會(huì)話,且MySQL重啟后失效,因?yàn)镸ySQL重啟時(shí)會(huì)重新讀取配置文件里對(duì)應(yīng)值,如果需永久生效需要修改配置文件里的值。

          vi /etc/my.cnf
          [mysqld] sql-mode = "xx_mode"

          保存退出,重啟服務(wù)器,即可永久生效

          sql_mode常用值如下:

          ONLY_FULL_GROUP_BY

          對(duì)于GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現(xiàn),那么這個(gè)SQL是不合法的,因?yàn)榱胁辉贕ROUP BY從句中

          NO_AUTO_VALUE_ON_ZERO

          該值影響自增長(zhǎng)列的插入。默認(rèn)設(shè)置下,插入0或NULL代表生成下一個(gè)自增長(zhǎng)值。如果用戶 希望插入的值為0,而該列又是自增長(zhǎng)的,那么這個(gè)選項(xiàng)就有用了。

          STRICT_TRANS_TABLES

          在該模式下,如果一個(gè)值不能插入到一個(gè)事務(wù)表中,則中斷當(dāng)前的操作,對(duì)非事務(wù)表不做限制

          NO_ZERO_IN_DATE

          在嚴(yán)格模式下,不允許日期或月份為零,只要日期的月或日中含有0值都報(bào)錯(cuò),但是‘0000-00-00’除外

          NO_ZERO_DATE

          設(shè)置該值,mysql數(shù)據(jù)庫(kù)不允許插入零日期,插入零日期會(huì)拋出錯(cuò)誤而不是警告。年月日中任何一個(gè)不為0都符合要求,只有‘0000-00-00’會(huì)報(bào)錯(cuò)

          ERROR_FOR_pISION_BY_ZERO

          在INSERT或UPDATE過程中,如果數(shù)據(jù)被零除,則產(chǎn)生錯(cuò)誤而非警告。如 果未給出該模式,那么數(shù)據(jù)被零除時(shí)MySQL返回NULL

          update table set num = 5 / 0 ; 設(shè)置該模式后會(huì)報(bào)錯(cuò),不設(shè)置則修改成功,num的值為null

          NO_AUTO_CREATE_USER

          禁止GRANT創(chuàng)建密碼為空的用戶

          NO_ENGINE_SUBSTITUTION

          如果需要的存儲(chǔ)引擎被禁用或未編譯,那么拋出錯(cuò)誤。不設(shè)置此值時(shí),用默認(rèn)的存儲(chǔ)引擎替代,并拋出一個(gè)異常

          PIPES_AS_CONCAT

          將"||"視為字符串的連接操作符而非或運(yùn)算符,這和Oracle數(shù)據(jù)庫(kù)是一樣的,也和字符串的拼接函數(shù)Concat相類似

          ANSI_QUOTES

          啟用ANSI_QUOTES后,不能用雙引號(hào)來(lái)引用字符串,因?yàn)樗唤忉尀樽R(shí)別符

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)