问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL会自动对表中的数据进行检查,以确数据满足什么要求

发布网友 发布时间:2022-04-09 17:19

我来回答

2个回答

懂视网 时间:2022-04-09 21:41

在mysql中存在着各种utf8编码格式,如下表:
1)utf8_bin
2)utf8_general_ci


utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。


现在假设执行如下命令:
create table test_bin (
name varchar(32) not null primary key,
age int unsigned not null
) 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;

以上命令能够执行成功。
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(‘alice‘, 20);
以上命令执行失败,因为utf8_general_ci不区分大小写,两条记录的主键重复。

因为校验规则不同,所以使用两种校验规则的非唯一列相同结果的排序结果也会不同。建议使用utf8_bin校验规则

mysql> select * from test_paixu_ci order by name desc;
+----+------+---------+
| id | name | address |
+----+------+---------+
| 1 | huzj | hunan |
| 12 | huzj | hunan |
| 13 | Huzj | hunan |
| 14 | huzj | hunan |
| 15 | Huzj | hunan |
| 16 | huzj | hunan |
| 17 | HuzJ | hunan |
| 18 | huzj | hunan |
| 19 | HUZJ | hunan |
| 11 | hUzj | hunan |
| 10 | hUZj | hunan |
| 2 | huzJ | hunan |
| 3 | huzj | hunan |
| 4 | huZj | hunan |
| 5 | hUzj | hunan |
| 6 | huZj | hunan |
| 7 | huzj | hunan |
| 8 | huZj | hunan |
| 9 | hUzj | hunan |
| 20 | hUzj | hunan |
+----+------+---------+
20 rows in set (0.00 sec)

mysql> select * from test_paixu_bin order by name desc;
+----+------+---------+
| id | name | address |
+----+------+---------+
| 1 | huzj | hunan |
| 14 | huzj | hunan |
| 16 | huzj | hunan |
| 7 | huzj | hunan |
| 12 | huzj | hunan |
| 18 | huzj | hunan |
| 3 | huzj | hunan |
| 2 | huzJ | hunan |
| 4 | huZj | hunan |
| 8 | huZj | hunan |
| 6 | huZj | hunan |
| 11 | hUzj | hunan |
| 9 | hUzj | hunan |
| 5 | hUzj | hunan |
| 20 | hUzj | hunan |
| 10 | hUZj | hunan |
| 13 | Huzj | hunan |
| 15 | Huzj | hunan |
| 17 | HuzJ | hunan |
| 19 | HUZJ | hunan |
+----+------+---------+
20 rows in set (0.00 sec)

 

MySQL中校验规则的选取对数据的影响

标签:create   存储   var   成功   字符   使用   des   sign   相同   

热心网友 时间:2022-04-09 18:49

一是会在数据插入、更新时会检查字段是否符合每列的类型、长度要求
二是通过触发器,按照需求增加对数据的检查(不推荐、触发器会影响数据库的性能)
祝好运、望采纳。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
保温钉保温钉 《纯爱恋歌Ⅰ》txt全集下载 Win10实时防护无法打开怎样关闭? 网上银行添加下挂卡(猪福卡)可以交易吗? 违章显示已处理未交款 和女友闹矛盾,她说分手很多次了。今天我故意发我和前女友照片在空间并发... 我跟我男朋友分手了,我在朋友圈发了朋友送的花,还说重新开始新的恋_百... ...去送东西。他没要,他发了一个朋友圈,大家看看什么意思? 当一个人看着你发一些话在朋友圈故意气他,结果他又把你拉黑了,什么意思... 写以个作文题目为“从明天起做一个……的人” 玄彬演过哪些影片? 小花狗跳跶跶,种个萝卜圆又大的教案 玄彬最新的电视剧有哪些? 小花狗学写2中班教案 玄彬出演过的好看的韩剧有哪几部? 如何使用各种餐具 教案 cad2004 开打印和开选项的时候会卡,怎么解决? cad2008打印卡死 狮子男提分手后可以挽回吗 狮子座的男生分手后是如何度过低谷期的? 狮子男说分手还能挽回吗 签了三方协议报到后可以走人吗? 签了劳动合同干了几天不干了可以直接走人吗? 在DR钻戒广州天环广场店定制戒指,一般要多久? DR钻戒广州天环广场这家店怎么样? 红发.香克斯繁体字怎么写 海贼王里红发香克斯的成长经历是怎样的? 红发香克斯的一些问题…… 红发香克斯的能力是什么? 红发香克斯的身世 餐饮收款系统加扫描枪钱进到哪里 扫码枪收款如何找到顾客 商场用扫码枪向我收款我怎么知道付款成功了 头戴式耳机怎么设置单曲循环? _百度问一问 翡翠怎么去掉表面的蜡 头戴式耳机买回来就可以直接用了吗?需不需要做什么调整? 翡翠挂件的包浆就让它留在上面还是需要洗掉 接手亲戚的店面,用扫码*的时候钱还是到亲戚账上,扫码*要怎么改账才能进自己的账上? 翡翠抛光用什么腊 化妆品补水瓶塞子掉了怎么办 绿翡翠的手镯放箱子太久了应怎样保养 拿热溶胶补水瓶会不会有霉 翡翠手镯戴久了为什么出现了白色纹状的东西啊? 奇瑞qq车防冻液补水瓶怎样折,装 别克凯越补水瓶出水怎么回事 买来的翡翠手镯内侧打磨不太光滑,自己用什么工具可以打磨?最后怎么抛光? 翡翠手镯放了几天上面有白色的是什么? 12黄金圣斗士在撒加死了,雅典娜恢复名誉后只剩6个了,找谁来填上啊 davichi《水瓶》歌词音译和翻译。。