mysql中varchar20我的資料長度超過了

時間 2021-06-07 01:20:41

1樓:

mysql中 varchar(20)資料長度超過了是設定錯誤造成的,解決方法為:

1、通過my.ini(linux下為my.cnf)的配置檔案進行修改。一般my.ini檔案在安裝檔案的根目錄下。

2、系統是windows10,安裝目錄下沒有my.ini檔案。

3、仔細找了一下,my.ini檔案在programdata下。

4、開啟配置檔案,在 [mysqld] 的後面加入一行“ft_min_word_len=1”。ps:也可以設定成ft_min_word_len=2,具體情況根據自己的中文資料而定。

5、重啟mysql服務。注意,配置檔案修改後一定要重啟服務後才能生效。

6、檢視一下最小索引長度,確定生效。sql語句:show global variables like '%__word_len%'。

2樓:匿名使用者

varchar所指的自動增長,並不可能超出你所賦與的範圍,超出範圍的,會被自動擷取掉,

他的自動增長,其實應該說是自動縮放,不到你賦的20的,例只有13,他只存13位,而 char無論實際是多少,都會存20,

自動增長只有tinytext,text可以了,

3樓:

你已經給長度定義為最長20位,超過20位,當然擷取了

4樓:匿名使用者

誰告訴你varchar是自動增長的?自動增長還設定長度幹嗎?

5樓:匿名使用者

alter table'student' add 's_***' varchar(20) not null;

mysql資料庫實際儲存的字元長度超過了varchar(m)的定義的長度,會怎麼樣?

6樓:

會出現二進位制被截斷的錯誤!!

資料儲存將失敗!!

7樓:匿名使用者

理解確varchar比char存更內容

外char定例定義欄位型別char(32)論存110字元資料庫都配32字元空間

varchar變定義varchar(32)欄位存1字元佔1空間、存10佔10空間浪費餘空間

定處修改便查詢便變修改麻煩指系統內部

備註:舉例所說佔用空間理論值事實需要配null標誌空間、資料度空間至少要1~2位元組

mysql資料庫varchar 100 可以儲存多少個漢字

昔玉英左汝 具體還是要看版本的 4.0版本以下,varchar 100 指的是100位元組,如果存放utf8漢字時,只能存33個 每個漢字3位元組 5.0版本以上,varchar 100 指的是100字元,無論存放的是數字 字母還是utf8漢字 每個漢字3位元組 都可以存放100個。自己在資料庫中建...