先创建一个表CREATETABLE`test`(`a`varchar(3)NOTNULLDEFAULT'')ENGINE=InnoDBDEFAULTCHARSET=utf8;字段a类型为varchar,长度3为三个字节,也就是说字段a里面最多可以存三个字节长度的数据。但是我只想下面的sql语句竟然能成功。SQL语句为:insertintotestvalues('汉ab');“汉”unicode的字节长度为3,'ab'两个字符的字节长度为2,总共有的字节长度为5了,为什么能插入成功呢,我的sql_mode设置的为严格模式。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\|+--------------------------+---------------------------------------------+
添加回答
举报
0/150
提交
取消