Mysql 字段長度過長自動截斷的機制

2021-10-09 12:23:06 字數 626 閱讀 2629

mysql在配置檔案my.cnf中有乙個配置項

[mysqld]

sql-mode = "xx_mode" sql-mode中有strict_trans_tables是在資料超長的情況下會插入失敗,當刪除這個限制時,插入超長會mysql會自動截斷超長的字段

如果無法修改服務端的配置那麼在sqlsession中設定sql-mode 也可以達到改變長度約束的目的

如:

select @@session.sql_mode;

set @@global.sql_mode='only_full_group_by,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution';

insert into tbl_pipbat_file_inf1 values (包含超長的字段)

select @@session.sql_mode;

執行結果發現超長欄位被截斷

Mysql字段長度

列型別 需要的儲存量 tinyint 1 位元組 allint 2 個位元組 mediumint 3 個位元組 int 4 個位元組 integer 4 個位元組 bigint 8 個位元組 float x 4 如果 x 24 或 8 如果 25 x 53 float 4 個位元組 double 8...

一般mysql字段長度 Mysql字段長度

列型別 需要的儲存量 tinyint 1 位元組smallint 2 個位元組mediumint 3 個位元組int 4 個位元組integer 4 個位元組bigint 8 個位元組float x 4 如果 x 列型別 需要的儲存量 tinyint 1 位元組 smallint 2 個位元組 me...

MySQL字段長度理解

隨筆記知識 在設計資料表時,無論通過 設計還是sql語句設計,都會涉及到字段長度的設計,字段長度即資料型別後括號內的數值,如int 10 varchar 10 字段長度在不同的資料型別下意義是不同的,此處僅以mysql中的int以及varchar型別做說明,其餘請自行學習。int 型別 int型別的...