本文主要介绍gorm操作MySql数据库的方法,对大家来说非常详细。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
使用gorm查询时,会出现帐户名a和a相同的情况,因为默认情况下mysql不区分大小写
1.问题的原因
MySQL在Windows下不区分大小写。
Linux下MySQL数据库名、表名、列名、别名的大写规则如下:
1.数据库名和表名严格区分大小写;
2.表的别名严格区分大小写;
3.列名和别名在所有情况下都被忽略;
4.变量名也严格区分大小写;
MySQL在查询字符串时不区分大小写,编译MySQL时一般使用ISO-8859字符集作为默认字符集。这个字符集是不区分大小写的,所以这个现象是由于比较过程中汉字编码字符的大小写转换造成的。
2.mysql中的排序规则
Utf8_bin将每个字符存储在一个包含二进制数据的字符串中,该字符串区分大小写。Utf8 _ genera _ ci不区分大小写,ci是区分大小写的缩写,即不区分大小写。Utf8_general_cs区分大小写,cs是区分大小写的缩写,即区分大小写。(注意:Mysql5.6.10版不支持utf8_genral_cs!
3.解决方案
1.二元关键字
通过在要查询的字段前添加二进制关键字,直接修改sql查询语句。(不推荐)
1.在每个条件前添加binary关键字
1从二进制用户名='admin '和二进制密码='admin '的用户中选择*;
2.用二进制(“”)包围参数
1从用户名如二进制(' admin ')和密码如二进制(' admin ')的用户中选择*;
2.修改排序规则属性
将表的collate属性设置为utf8_general_cs或utf8 _ bin直接在创建表格时;如果已经创建了表,则直接将字段的“排序规则”属性修改为utf8_general_cs或utf8_bin。
1.修改表格结构
1更改表表名修改列列名变量字符(50)二进制字符集utf8整理utf8_bin默认为空;
2.修改字段(使用gorm将表中的字段设置为区分大小写)
1 `gorm: '唯一' sql: '唐山网站建设类型: varchar (255)字符集utf8整理utf8 _ bin ' '
关于gorm如何操作MySql数据库的文章到此结束。有关gorm操作MySql数据库的更多信息,请搜索Script House以前的文章或继续浏览下面的相关文章。希望以后大家多多支持脚本屋!
文章转自剧本社,原链接:https://www.jb51.net/article/207017.htm