gorm操作MySql数据库的方法
作者:fbbqt 时间:2024-01-20 14:15:00
1、表中字段区分大小写的设置
在使用gorm查询的时候,会出现账户名A和a是一样的情况,是因为mysql默认不区分大小写造成的
1.问题产生的原因
MySQL在Windows下都不区分大小写。
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,这个字符集对大小写不敏感,因此在比较过程中中文编码字符大小写转换造成了这种现象。
2、mysql中的排序规则
utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。(注意:在Mysql5.6.10版本中,不支持utf8_genral_cs!!!
3、解决办法
1、binary关键字
直接修改sql查询语句,在要查询的字段前面加上binary关键字即可。(不推荐)
1、在每一个条件前加上binary关键字
select * from user where binary username = 'admin' and binary password = 'admin';
2、将参数以binary('')包围
select * from user where username like binary('admin') and password like binary('admin');
2、修改Collation属性
创建表时,直接设置表的collate属性为utf8_general_cs或者utf8_bin;如果已经创建表,则直接修改字段的Collation属性为utf8_general_cs或者utf8_bin。
1、修改表结构
ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;
2、修改字段(使用gorm设置表中字段区分大小写)
`gorm:"unique" sql:"type:VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin"`
来源:https://blog.csdn.net/fbbqt/article/details/114386445
标签:gorm,MySql,数据库


猜你喜欢
python中lambda()的用法
2022-07-19 05:15:45
如何用python反转图片,视频
2023-08-27 08:18:21

python中jieba模块的深入了解
2023-01-25 05:08:47

将python图片转为二进制文本的实例
2021-04-23 17:21:45

Python List列表对象内置方法实例详解
2023-08-21 12:49:58
最新WebStorm2020.2注册码永久激活(激活到2089年) <font color=red>原创</font>
2023-03-20 19:28:51

Python多继承原理与用法示例
2023-10-22 21:01:41

Python使用re模块正则提取字符串中括号内的内容示例
2022-06-15 14:20:04
Java基于正则表达式实现的替换匹配文本功能【经典实例】
2023-03-15 22:27:44

基于Python实现签到脚本过程解析
2023-01-13 03:14:56
Javascript正则表达式基础
2009-02-01 18:13:00
python生成验证码图片代码分享
2021-08-24 11:52:14

语义化你的HTML标签和属性
2008-06-12 13:18:00
MySQL中的联合索引学习教程
2024-01-21 23:49:34
一文教你如何优雅处理Golang中的异常
2024-02-13 21:32:33
WEB2.0网页制作标准教程(3)定义语言编码
2007-11-13 13:23:00
SQL Server 2005数据库批量更新解决办法
2009-04-11 16:12:00
详解go语言中sort如何排序
2023-09-03 14:00:38
PHP实现sha-256哈希算法实例代码
2023-05-25 01:05:23
Pytorch从0实现Transformer的实践
2021-12-22 03:26:41
