欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

gorm操作MySql數(shù)據(jù)庫(kù)的方法

 更新時(shí)間:2021年03月06日 12:06:18   作者:fbbqt  
這篇文章主要介紹了gorm操作MySql數(shù)據(jù)庫(kù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1、表中字段區(qū)分大小寫(xiě)的設(shè)置

在使用gorm查詢(xún)的時(shí)候,會(huì)出現(xiàn)賬戶(hù)名Aa是一樣的情況,是因?yàn)閙ysql默認(rèn)不區(qū)分大小寫(xiě)造成的

1.問(wèn)題產(chǎn)生的原因

MySQL在Windows下都不區(qū)分大小寫(xiě)。
MySQL在Linux下數(shù)據(jù)庫(kù)名、表名、列名、別名大小寫(xiě)規(guī)則是這樣的:

1、數(shù)據(jù)庫(kù)名與表名是嚴(yán)格區(qū)分大小寫(xiě)的;
2、表的別名是嚴(yán)格區(qū)分大小寫(xiě)的;
3、列名與列的別名在所有的情況下均是忽略大小寫(xiě)的;
4、變量名也是嚴(yán)格區(qū)分大小寫(xiě)的;

MySQL在查詢(xún)字符串時(shí)是大小寫(xiě)不敏感的,在編繹MySQL時(shí)一般以ISO-8859字符集作為默認(rèn)的字符集,這個(gè)字符集對(duì)大小寫(xiě)不敏感,因此在比較過(guò)程中中文編碼字符大小寫(xiě)轉(zhuǎn)換造成了這種現(xiàn)象。

2、mysql中的排序規(guī)則

utf8_bin將字符串中的每一個(gè)字符用二進(jìn)制數(shù)據(jù)存儲(chǔ),區(qū)分大小寫(xiě)。utf8_genera_ci不區(qū)分大小寫(xiě),ci為case insensitive的縮寫(xiě),即大小寫(xiě)不敏感。utf8_general_cs區(qū)分大小寫(xiě),cs為case sensitive的縮寫(xiě),即大小寫(xiě)敏感。(注意:在Mysql5.6.10版本中,不支持utf8_genral_cs!!!

3、解決辦法

 1、binary關(guān)鍵字

直接修改sql查詢(xún)語(yǔ)句,在要查詢(xún)的字段前面加上binary關(guān)鍵字即可。(不推薦)

1、在每一個(gè)條件前加上binary關(guān)鍵字

select * from user where binary username = 'admin' and binary password = 'admin';

2、將參數(shù)以binary('')包圍

select * from user where username like binary('admin') and password like binary('admin');

2、修改Collation屬性

創(chuàng)建表時(shí),直接設(shè)置表的collate屬性為utf8_general_cs或者utf8_bin;如果已經(jīng)創(chuàng)建表,則直接修改字段的Collation屬性為utf8_general_cs或者utf8_bin。

1、修改表結(jié)構(gòu)

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

2、修改字段(使用gorm設(shè)置表中字段區(qū)分大小寫(xiě))

`gorm:"unique" sql:"type:VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin"`

到此這篇關(guān)于gorm操作MySql數(shù)據(jù)庫(kù)的方法的文章就介紹到這了,更多相關(guān)gorm操作MySql數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql修改sql_mode報(bào)錯(cuò)的解決

    mysql修改sql_mode報(bào)錯(cuò)的解決

    今天在Navicat中運(yùn)行sql語(yǔ)句創(chuàng)建數(shù)據(jù)表出現(xiàn)了錯(cuò)誤Err 1067。本文主要介紹了mysql修改sql_mode報(bào)錯(cuò)的解決,感興趣的可以了解一下
    2021-09-09
  • MySQL中的?Binlog?深度解析及使用詳情

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

    這篇文章主要介紹了MySQL中的?Binlog?深度解析及使用詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Mysql使用大全 從基礎(chǔ)到存儲(chǔ)過(guò)程

    Mysql使用大全 從基礎(chǔ)到存儲(chǔ)過(guò)程

    看到園子里總結(jié)的Mysql用法,我覺(jué)得沒(méi)有我的全面,我的從登錄到高級(jí)的存儲(chǔ)過(guò)程都涉及到,這部分是我平常不會(huì)或是出現(xiàn)問(wèn)題都會(huì)拿來(lái)看,不過(guò)現(xiàn)在就和我一起來(lái)使用命令模式學(xué)習(xí)一下數(shù)據(jù)庫(kù)最基本的吧
    2012-05-05
  • MySQL中約束的實(shí)現(xiàn)示例

    MySQL中約束的實(shí)現(xiàn)示例

    本文主要介紹了MySQL中約束的實(shí)現(xiàn)示例,包括非空約束、唯一約束、主鍵約束、默認(rèn)約束、檢查約束和外鍵約束,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Windows下MySQL日志基本的查看以及導(dǎo)入導(dǎo)出用法教程

    Windows下MySQL日志基本的查看以及導(dǎo)入導(dǎo)出用法教程

    這篇文章主要介紹了Windows下MySQL日志基本的查看以及導(dǎo)入導(dǎo)出用法教程,需要的朋友可以參考下
    2015-11-11
  • mysql使用字符串字段判斷是否包含某個(gè)字符串的方法

    mysql使用字符串字段判斷是否包含某個(gè)字符串的方法

    在MySQL中,判斷字符串字段是否包含特定子字符串,可使用LIKE操作符、INSTR()函數(shù)、LOCATE()函數(shù)、POSITION()函數(shù)、FIND_IN_SET()函數(shù)以及正則表達(dá)式REGEXP或RLIKE,每種方法適用于不同的場(chǎng)景和需求,LIKE和INSTR()通常用于簡(jiǎn)單包含判斷
    2024-09-09
  • mysql中字段類(lèi)型轉(zhuǎn)義方式

    mysql中字段類(lèi)型轉(zhuǎn)義方式

    這篇文章主要介紹了mysql中字段類(lèi)型轉(zhuǎn)義方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MySQL權(quán)限USAGE和ALL PRIVILEGES的用法

    MySQL權(quán)限USAGE和ALL PRIVILEGES的用法

    本文主要介紹了MySQL權(quán)限USAGE和ALL PRIVILEGES的用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • Windows下MySQL?8.0.29?安裝和刪除圖文教程

    Windows下MySQL?8.0.29?安裝和刪除圖文教程

    這篇文章主要為大家詳細(xì)介紹了Windows下MySQL?8.0.29?安裝和刪除圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 利用SQL注入漏洞登錄后臺(tái)的實(shí)現(xiàn)方法

    利用SQL注入漏洞登錄后臺(tái)的實(shí)現(xiàn)方法

    工作需要,得好好補(bǔ)習(xí)下關(guān)于WEB安全方面的相關(guān)知識(shí),故撰此文,權(quán)當(dāng)總結(jié),別無(wú)它意。讀這篇文章,我假設(shè)讀者有過(guò)寫(xiě)SQL語(yǔ)句的經(jīng)歷,或者能看得懂SQL語(yǔ)句
    2012-01-01

最新評(píng)論