gorm操作MySql数据库的方法

 更新时间:2021年03月06日 12:06:18   作者:fbbqt  
这篇文章主要介绍了gorm操作MySql数据库的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1、表中字段区分大小写的设置

在使用gorm查询的时候,会出现账户名Aa是一样的情况,是因为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"`

到此这篇关于gorm操作MySql数据库的方法的文章就介绍到这了,更多相关gorm操作MySql数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql修改sql_mode报错的解决

    mysql修改sql_mode报错的解决

    今天在Navicat中运行sql语句创建数据表出现了错误Err 1067。本文主要介绍了mysql修改sql_mode报错的解决,感兴趣的可以了解一下
    2021-09-09
  • MySQL中的 Binlog 深度解析及使用详情

    MySQL中的 Binlog 深度解析及使用详情

    这篇文章主要介绍了MySQL中的 Binlog 深度解析及使用详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • Mysql使用大全 从基础到存储过程

    Mysql使用大全 从基础到存储过程

    看到园子里总结的Mysql用法,我觉得没有我的全面,我的从登录到高级的存储过程都涉及到,这部分是我平常不会或是出现问题都会拿来看,不过现在就和我一起来使用命令模式学习一下数据库最基本的吧
    2012-05-05
  • MySQL中约束的实现示例

    MySQL中约束的实现示例

    本文主要介绍了MySQL中约束的实现示例,包括非空约束、唯一约束、主键约束、默认约束、检查约束和外键约束,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Windows下MySQL日志基本的查看以及导入导出用法教程

    Windows下MySQL日志基本的查看以及导入导出用法教程

    这篇文章主要介绍了Windows下MySQL日志基本的查看以及导入导出用法教程,需要的朋友可以参考下
    2015-11-11
  • mysql使用字符串字段判断是否包含某个字符串的方法

    mysql使用字符串字段判断是否包含某个字符串的方法

    在MySQL中,判断字符串字段是否包含特定子字符串,可使用LIKE操作符、INSTR()函数、LOCATE()函数、POSITION()函数、FIND_IN_SET()函数以及正则表达式REGEXP或RLIKE,每种方法适用于不同的场景和需求,LIKE和INSTR()通常用于简单包含判断
    2024-09-09
  • mysql中字段类型转义方式

    mysql中字段类型转义方式

    这篇文章主要介绍了mysql中字段类型转义方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • MySQL权限USAGE和ALL PRIVILEGES的用法

    MySQL权限USAGE和ALL PRIVILEGES的用法

    本文主要介绍了MySQL权限USAGE和ALL PRIVILEGES的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • Windows下MySQL 8.0.29 安装和删除图文教程

    Windows下MySQL 8.0.29 安装和删除图文教程

    这篇文章主要为大家详细介绍了Windows下MySQL 8.0.29 安装和删除图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 利用SQL注入漏洞登录后台的实现方法

    利用SQL注入漏洞登录后台的实现方法

    工作需要,得好好补习下关于WEB安全方面的相关知识,故撰此文,权当总结,别无它意。读这篇文章,我假设读者有过写SQL语句的经历,或者能看得懂SQL语句
    2012-01-01

最新评论