您好,登錄后才能下訂單哦!
這篇文章給大家介紹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_BY | select 內(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。