?

這篇文章主要介紹了gorm操作MySql數據庫的操作方法,本文給大家介紹的非常詳細,對大家的據庫學(xué)習或工作具有一定的參考借鑒價(jià)值,需要的操作朋友可以參考下。
在??使用gorm查詢(xún)的據庫時(shí)候,會(huì )出現賬戶(hù)名A和a是操作(zuo)一樣的情況,是據庫因為mysql默認不區(′▽?zhuān)?)分大小寫(xiě)造成的
1.問(wèn)題產(chǎn)生的原因
MySQL在Wind( ???)ows下都不區分大小寫(xiě)。
MySQL在Linux下數據庫名、操作表名、據庫列名、操作別名大小寫(xiě)規則是據庫這樣的:
1、數據庫名與表名是操作嚴格區(qu)分大小寫(xiě)的;
2、表的據??庫別名是嚴格區分大小寫(xiě)的;
4、變量名也是據庫嚴格區分大小寫(xiě)的;
MySQL在(zai)查詢(xún)???字符串時(shí)是大??小寫(xiě)不敏感的,在編繹M??ySQL時(shí)一般以IS( ???)O-8859字符集作為默認的操作字符集,這個(gè)字符集對大小寫(xiě)不敏感,因此在比較過(guò)程中中文編碼字符大小寫(xiě)轉換造成了這種現象。
2、mysql中的排序規則
utf8_bin將字符串中的每一個(gè)字符用二進(jìn)制數據存儲,區分大小寫(xiě)。utf8_genera_ci不區分大小寫(xiě),ci為case insens??itive的縮寫(xiě),即大小??寫(xiě)不敏??感。utf8_general_cs區分大小寫(xiě),cs為case sensitive的縮寫(xiě),即大小寫(xiě)敏感。(注意:在Mysql5.6.10版本中,不支持utf8_genral_cs?。?!
1、binary關(guān)鍵(╯‵□′)╯字
直接修改sql查詢(xún)語(yǔ)句,在要查詢(xún)的字段前面加上binary關(guān)鍵(′_ゝ`)字即可。(不推薦)
1、在每一個(gè)條件前加上binary關(guān)鍵字
1 select * from user where binary username = 'admin' and binary password = 'admin┐(′?`)┌';
2、將參??數以binary('')包圍
1 select * from user where username like binary('admin') and password like binary('admin');
2、修改Collation屬性
創(chuàng )建表時(shí),直接設置表的collate屬性(xing)為utf8_general_cs或者utf8_bin;如果已經(jīng)創(chuàng )建表,則直接修改字段的(de)Collation屬性(xing)為utf??8_general_cs或者utf8_bin。
1、修改表結構
1 ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATEヾ(′?`)? utf8_bin DEFAULT NULL;
2、修改字段(使用gorm設置表中字段區分大小寫(xiě))
1 `gorm:"unique" sql:"type:VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin"`??
到此這篇關(guān)于gorm操作MySql數據庫的方法的文章就介紹到這了,更多相關(guān)gorm操作MySql數據庫內容請搜???索腳本之家以前的文章或繼續瀏覽下面的ヾ(^-^)ノ相關(guān)文章希望大家以后多多支持腳本之家!
文章轉自腳本之家,原文鏈接:https://www.jb51.net/article/??207017.htm
友情鏈接:
保定理風(fēng)網(wǎng)絡(luò )科技有限公司海門(mén)中歐網(wǎng)絡(luò )科技有限公司雙鴨山旺成網(wǎng)絡(luò )科技有限公司恩平歐復網(wǎng)絡(luò )科技有限公司遼陽(yáng)洲西網(wǎng)絡(luò )科技有限公司蘭溪盛碼網(wǎng)絡(luò )科技有限公司平度洲絲網(wǎng)絡(luò )科技有限公司
© 2013-2025.Company name All rights reserved.網(wǎng)站地圖 天津九安特機電工程有限公司-More Templates