mysql 模式 MySQL SQL模式特點彙總

2021-10-25 14:05:55 字數 1954 閱讀 4599

前言

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模式。無效的資料值被拒絕。

嚴格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

致謝感謝你看到這裡,希望本篇文章可以幫到你,謝謝。?

Mysql SQL模式介紹 設定 檢視

查詢預設sql模式 設定sql模式 mysql 伺服器可以在不同的 sql 模式下執行,並且可以針對不同的客戶端以不同的方式應用這些模式,具體取決於 sql mode 系統變數的值。dba 可以設定全域性sql模式以匹配站點伺服器操作要求,並且每個應用程式可以將其會話 sql 模式設定為其自己的要求...

mysql sql提示 MySQL 使用SQL提示

sql提示 sql hint 是優化資料庫的一種重要手段,簡單來說就是在sql語句中加入一些人為的提示來達到優化操作的目的。下面是乙個使用sql提示的例子 select sql buffer results from 這個語句將強制mysql 生成乙個臨時結果集。只要臨時結果集生成後,所有表上的鎖定...

mysql sql提示 MySQL 使用SQL提示

sql提示 sql hint 是優化資料庫的一種重要手段,簡單來說就是在sql語句中加入一些人為的提示來達到優化操作的目的。下面是乙個使用sql提示的例子 select sql buffer results from 這個語句將強制mysql 生成乙個臨時結果集。只要臨時結果集生成後,所有表上的鎖定...