第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于 MySQL 的 varchar 長度計算的疑問

關(guān)于 MySQL 的 varchar 長度計算的疑問

阿晨1998 2019-04-16 16:58:27
先創(chuàng)建一個表CREATETABLE`test`(`a`varchar(3)NOTNULLDEFAULT'')ENGINE=InnoDBDEFAULTCHARSET=utf8;字段a類型為varchar,長度3為三個字節(jié),也就是說字段a里面最多可以存三個字節(jié)長度的數(shù)據(jù)。但是我只想下面的sql語句竟然能成功。SQL語句為:insertintotestvalues('漢ab');“漢”unicode的字節(jié)長度為3,'ab'兩個字符的字節(jié)長度為2,總共有的字節(jié)長度為5了,為什么能插入成功呢,我的sql_mode設(shè)置的為嚴格模式。MySQL編碼信息為:>mysql>showvariableslike"%char%";+--------------------------+---------------------------------------------+|Variable_name|Value|+--------------------------+---------------------------------------------+|character_set_client|utf8||character_set_connection|utf8||character_set_database|latin1||character_set_filesystem|binary||character_set_results|utf8||character_set_server|latin1||character_set_system|utf8||character_sets_dir|D:\lamp\mysql-5.6.23-winx64\share\charsets\|+--------------------------+---------------------------------------------+
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

mysqlvarchar類型的長度指的是字符個數(shù),而不是字節(jié)數(shù),和編碼無關(guān)。
SELECTchar_length('中文');
2
SELECTlength('中文');
6(utf8編碼下每個中文字符占用3個字節(jié))
                            
查看完整回答
反對 回復 2019-04-16
?
Qyouu

TA貢獻1786條經(jīng)驗 獲得超11個贊

在mysql中varchar(3)并不代表長度為3個字節(jié),而是代表3個字符,對于varchar(3)來說“我不是”和“abc”是一樣的長度~
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關(guān)注
  • 482 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號