電腦請使用 Ctrl + D 加入最愛
手機請使用 ★ 收藏
小編的世界 優質文選 資料
字體大小:
2020年8月10日 -
:
科技達人,優質創作者
varchar就是mysql數據庫中定義列為字符串的一種數據類型。使用varchar定義列時需要指定這個列存放數據的長度上限,就可以通過varchar(n)中的n來實現。
但是這個n,有的說是字節數,存放英文和漢字時會有不同的效果。而有的又說是字符數。那究竟是什麼呢。
實際操作一下試試看吧。先創建一張表。
這張表中tname列設置的是varchar(7)。
我的數據庫設置的模式是如果數據超出列設置的長度,則截短到符合列設置的長度並給出警告,而不是報錯。
我們來執行下面的sql看看最終執行效果就可以看出來varchar(n)中的n到底是指的什麼了。
四條插入語句,兩條是插入英文字母的,兩條是插入中文的。
看執行結果是插入了4條數據,但是產生了2條警告,警告的內容是tname列的數據被截斷了。
再來看看數據。
可以看到,不論是英文字母,還是中文漢字超出7個字符的都只保留了7個字符。那看來這個varchar(n)中的n指的是字符數了。
那varchar(n)中的n指的是字節數這種說法是錯的嗎?其實也不是錯誤的。這種說法是對於早期版本(4.0版本及以下)而言的。到了5.0版本開始就是這個n指的就是字符數了。
好了,今天的內容就到這裏了。有問題、意見建議的朋友歡迎評論或私信告訴我。