溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用gorm怎么對MySql數據庫進行操作

發布時間:2021-03-08 11:20:48 來源:億速云 閱讀:795 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關使用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數據庫進行操作,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女