string or binary data,mysql _bin編碼_mysql中utf8_bin、utf8_general_ci、utf8_general_c

 2023-11-10 阅读 25 评论 0

摘要:在mysql中存在著各種utf8編碼格式,如下表:1)utf8_binstring or binary data?2)utf8_general_ci3)utf8_general_csutf8_bin將字符串中的每一個字符用二進制數據存儲,區分大小寫。mysql怎么用?utf8_genera_ci不區分大小寫,ci為case insensitive的

在mysql中存在著各種utf8編碼格式,如下表:

1)utf8_bin

string or binary data?2)utf8_general_ci

3)utf8_general_cs

utf8_bin將字符串中的每一個字符用二進制數據存儲,區分大小寫。

mysql怎么用?utf8_genera_ci不區分大小寫,ci為case insensitive的縮寫,即大小寫不敏感。

utf8_general_cs區分大小寫,cs為case sensitive的縮寫,即大小寫敏感。

現在假設執行如下命令:

mysql、create table test_bin (

name varchar(32) not null primary key,

age int unsigned not null

unicode utf-8關系。) engine = InnoDB COLLATE=utf8_bin;

以上命令能夠執行成功。

create table test_ci (

name varchar(32) not null primary key,

age int unsigned not null

) engine = InnoDB COLLATE=utf8_general_ci;

以上命令能夠執行成功。

create table test_cs (

name varchar(32) not null primary key,

age int unsigned not null

) engine = InnoDB COLLATE=utf8_general_cs;

在5.6.10版本中,以上命令執行失敗,不支持utf8_genral_cs。

insert into test_bin values('Alice', 18);

以上命令能夠執行成功。

insert into test_bin values('alice', 18);

以上命令能夠執行成功,因為utf8_bin是以十六進制方式存儲數據,兩條記錄的主鍵不重復。

insert into test_ci values('Alice', 18);

以上命令能夠執行成功。

insert into test_ci values('alily', 20);

以上命令執行失敗,因為utf8_general_ci不區分大小寫,兩條記錄的主鍵重復。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/169848.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息