資料庫大小寫與程式語言大小寫的區別

2022-03-20 12:54:40 字數 394 閱讀 3035

今天在看優惠券功能**塊的時候,發現可選優惠券很多,但是選擇了乙個,卻始終改不了優惠券狀態。檢查**追蹤後發現是資料庫不區分大小寫。

select * from table where username='lizhaoyao' 與  select * from table where username='lizhaoyao' 沒有區別,因為字符集的編碼設定的是 utf8_general_ci 所以能獲取到該使用者的優惠券列表

但是在使用的時候我發現**是這樣的

if($coupon_info['username']==$user)

//處理優惠券的邏輯

有這個判斷的情況下才能使用優惠券,也就意味著 不能區分大小寫,所以該使用者的優惠券無法使用,這樣也就明白了為什麼資料庫顯示能用 但是功能上卻不可以。

mysql 區分大小寫 大小寫敏感 配置

linux下mysql預設區分大小寫 windows下mysql預設不區分大小寫 檢視是否區分大小寫 lower case table names引數詳解 lower case table names 0 其中 0 區分大小寫,1 不區分大小寫 mysql在linux下資料庫名 表名 列名 別名大小...

路徑與大小寫

因為在linux環境下 路徑是區分大小寫的,而windows下是不區分的.再加上thinkphp中 url 總反回小寫,因此路徑常有弄不好大小寫的情況.現在用乙個方案去解決這個問題.配置令程式全部區分大小寫,並使用最 安全 的命名方案.如下 2.url case insensitive false,...

mysql限制大小寫 mysql對大小寫的限制問題

今天研發人員問我,mysql對大小寫有限制嗎?我想都沒想,說沒限制。過了一會兒,研發人員告訴我說linux下是有限制的。我頓時有種打自己臉的感覺。對於自己不確定的問題,一定得想清楚,查明白了再說。在windows和mac os中,lower case tables name的預設值是1.如果只是在乙...