溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL中SQL模式的特點(diǎn)是什么

發(fā)布時(shí)間:2021-06-15 16:37:39 來源:億速云 閱讀:141 作者:Leah 欄目:MySQL數(shù)據(jù)庫

這篇文章給大家介紹MySQL中SQL模式的特點(diǎn)是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

設(shè)置SQL模式

要在運(yùn)行時(shí)更改SQL模式,請(qǐng)sql_mode使用以下SET 語句設(shè)置全局或會(huì)話 系統(tǒng)變量

SET GLOBAL sql_mode = 'modes';
SET SESSION sql_mode = 'modes';

模式列表

模式注釋
ALLOW_INVALID_DATES無效日期會(huì)生成錯(cuò)誤
ERROR_FOR_DIVISION_BY_ZERO除0錯(cuò)誤
NO_BACKSLASH_ESCAPES禁止使用反斜杠字符(\)作為字符串中的轉(zhuǎn)義字符。啟用此模式后,反斜杠就像其他任何一個(gè)普通字符一樣。
NO_UNSIGNED_SUBTRACTION在整數(shù)值之間減去(其中一個(gè)是類型) UNSIGNED,默認(rèn)情況下會(huì)產(chǎn)生無符號(hào)結(jié)果。如果結(jié)果否則為負(fù),則會(huì)導(dǎo)致錯(cuò)誤
NO_ZERO_IN_DATE'0000-00-00' 則允許并且插入產(chǎn)生警告
ONLY_FULL_GROUP_BYselect 內(nèi)指定字段必須出現(xiàn)在 groupby 中,否則錯(cuò)誤
STRICT_TRANS_TABLES為事務(wù)存儲(chǔ)引擎啟用嚴(yán)格的SQL模式,并在可能的情況下為非事務(wù)性存儲(chǔ)引擎啟用。
STRICT_ALL_TABLES為所有存儲(chǔ)引擎啟用嚴(yán)格SQL模式。無效的數(shù)據(jù)值被拒絕。

詳情請(qǐng)參考 https://dev.mysql.com/doc/ref...

嚴(yán)格SQL模式

MySQL服務(wù)器可以在不同的SQL模式下運(yùn)行,并且可以針對(duì)不同的客戶端以不同的方式應(yīng)用這些模式,具體取決于sql_mode系統(tǒng)變量的值。在嚴(yán)格SQL模式下,服務(wù)器會(huì)將某些警告升級(jí)為錯(cuò)誤。

嚴(yán)格SQL模式適用于以下語句

  • ALTER TABLE

  • CREATE TABLE

  • CREATE TABLE ... SELECT

  • DELETE

  • INSERT

  • LOAD DATA

  • LOAD XML

  • SELECT SLEEP()

  • UPDATE

在存儲(chǔ)的程序中,如果在嚴(yán)格模式生效時(shí)定義了程序,則列出的類型的單個(gè)語句將以嚴(yán)格的SQL模式執(zhí)行。

嚴(yán)格的SQL模式適用于以下錯(cuò)誤,表示輸入值無效或缺失的一類錯(cuò)誤。如果值具有錯(cuò)誤的列數(shù)據(jù)類型或可能超出范圍,則該值無效。如果要插入的新行不包含其定義中NOT NULL沒有顯式DEFAULT子句的列的值,則缺少值。

  • ER_BAD_NULL_ERROR

  • ER_CUT_VALUE_GROUP_CONCAT

  • ER_DATA_TOO_LONG

  • ER_DATETIME_FUNCTION_OVERFLOW

  • ER_DIVISION_BY_ZERO

  • ER_INVALID_ARGUMENT_FOR_LOGARITHM

  • ER_NO_DEFAULT_FOR_FIELD

  • ER_NO_DEFAULT_FOR_VIEW_FIELD

  • ER_TOO_LONG_KEY

  • ER_TRUNCATED_WRONG_VALUE

  • ER_TRUNCATED_WRONG_VALUE_FOR_FIELD

  • ER_WARN_DATA_OUT_OF_RANGE

  • ER_WARN_NULL_TO_NOTNULL

  • ER_WARN_TOO_FEW_RECORDS

  • ER_WRONG_ARGUMENTS

  • ER_WRONG_VALUE_FOR_TYPE

  • WARN_DATA_TRUNCATED

關(guān)于MySQL中SQL模式的特點(diǎn)是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI