摘要:模式會影響支持的語法以及它執行的數據驗證檢查。為所有存儲引擎啟用嚴格模式。在嚴格模式下,服務器會將某些警告升級為錯誤。嚴格的模式適用于以下錯誤,表示輸入值無效或缺失的一類錯誤。
前言
MySQL服務器可以在不同的SQL模式下運行,并且可以針對不同的客戶端以不同的方式應用這些模式,具體取決于sql_mode系統變量的值。DBA可以設置全局SQL模式以匹配站點服務器操作要求,并且每個應用程序可以將其會話SQL模式設置為其自己的要求。
模式會影響MySQL支持的SQL語法以及它執行的數據驗證檢查。這使得在不同環境中使用MySQL以及將MySQL與其他數據庫服務器一起使用變得更加容易。
設置SQL模式要在運行時更改SQL模式,請sql_mode使用以下SET 語句設置全局或會話 系統變量
SET GLOBAL sql_mode = "modes"; SET SESSION sql_mode = "modes";模式列表
模式 | 注釋 |
---|---|
ALLOW_INVALID_DATES | 無效日期會生成錯誤 |
ERROR_FOR_DIVISION_BY_ZERO | 除0錯誤 |
NO_BACKSLASH_ESCAPES | 禁止使用反斜杠字符()作為字符串中的轉義字符。啟用此模式后,反斜杠就像其他任何一個普通字符一樣。 |
NO_UNSIGNED_SUBTRACTION | 在整數值之間減去(其中一個是類型) UNSIGNED,默認情況下會產生無符號結果。如果結果否則為負,則會導致錯誤 |
NO_ZERO_IN_DATE | "0000-00-00" 則允許并且插入產生警告 |
ONLY_FULL_GROUP_BY | select 內指定字段必須出現在 groupby 中,否則錯誤 |
STRICT_TRANS_TABLES | 為事務存儲引擎啟用嚴格的SQL模式,并在可能的情況下為非事務性存儲引擎啟用。 |
STRICT_ALL_TABLES | 為所有存儲引擎啟用嚴格SQL模式。無效的數據值被拒絕。 |
詳情請參考 https://dev.mysql.com/doc/ref...
嚴格SQL模式MySQL服務器可以在不同的SQL模式下運行,并且可以針對不同的客戶端以不同的方式應用這些模式,具體取決于sql_mode系統變量的值。在嚴格SQL模式下,服務器會將某些警告升級為錯誤。
嚴格SQL模式適用于以下語句
ALTER TABLE
CREATE TABLE
CREATE TABLE ... SELECT
DELETE
INSERT
LOAD DATA
LOAD XML
SELECT SLEEP()
UPDATE
在存儲的程序中,如果在嚴格模式生效時定義了程序,則列出的類型的單個語句將以嚴格的SQL模式執行。
嚴格的SQL模式適用于以下錯誤,表示輸入值無效或缺失的一類錯誤。如果值具有錯誤的列數據類型或可能超出范圍,則該值無效。如果要插入的新行不包含其定義中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
致謝感謝你看到這里,希望本篇文章可以幫到你,謝謝。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/77080.html
摘要:模式會影響支持的語法以及它執行的數據驗證檢查。為所有存儲引擎啟用嚴格模式。在嚴格模式下,服務器會將某些警告升級為錯誤。嚴格的模式適用于以下錯誤,表示輸入值無效或缺失的一類錯誤。 showImg(https://segmentfault.com/img/bVbgNjq?w=784&h=534); 前言 MySQL服務器可以在不同的SQL模式下運行,并且可以針對不同的客戶端以不同的方式應用...
摘要:實際上,本身就預留了與外部元數據對接的能力,分別提供了和這兩個抽象。對接外部數據源搞清楚了注冊庫表的過程,給我們帶來這樣一個思路如果外部元數據創建的表也能被轉換成可識別的,那么就能被無縫地注冊到。 本文整理自 2019 年 4 月 13 日在深圳舉行的 Flink Meetup 會議,分享嘉賓張俊,目前擔任 OPPO 大數據平臺研發負責人,也是 Apache Flink contrib...
閱讀 1628·2021-09-08 10:42
閱讀 3611·2021-08-11 10:23
閱讀 3982·2019-08-30 14:10
閱讀 2740·2019-08-29 17:29
閱讀 3097·2019-08-29 12:50
閱讀 647·2019-08-26 13:36
閱讀 3463·2019-08-26 11:59
閱讀 1494·2019-08-23 16:23