gorm操作MySql数据库的方法

作者:fbbqt 时间:2024-01-20 14:15:00 

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"`

来源:https://blog.csdn.net/fbbqt/article/details/114386445

标签:gorm,MySql,数据库
0
投稿

猜你喜欢

  • 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
  • asp之家 网络编程 m.aspxhome.com