首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 搜尋大小寫敏感性設定:COLLATE 操作符與校對集完整指南

     編輯:MySQL 資料庫相關知識

預設行為

MySQL 搜尋預設不區分大小寫 (除特定字符集如 czech)。col_name LIKE 'a%' 會匹配以 'A' 或 'a' 開頭的資料。

啟用大小寫敏感搜尋的方法

確保操作數之一具備區分大小寫 (cs) 或二進位 (bin) 校對集:

col_name COLLATE latin1_general_cs LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_general_cs
col_name COLLATE latin1_bin LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_bin

永久設定欄位為大小寫敏感

建表時指定校對集:

CREATE TABLE t (
    col_name VARCHAR(50) COLLATE latin1_general_cs
);

簡單比較運算的排序規則

>=, >, =, <, <=, ORDER BY, GROUP BY 基於每個字元的「排序值」。相同排序值字元 (如 'E', 'e', 'é') 視為相同。

連線錯誤主機封鎖機制 (附錄)

若出現 Host 'host_name' is blocked because of many connection errors:

  • 原因:大量中斷連線請求,超過 max_connect_errors (預設 10)
  • 解封:mysqladmin flush-hosts 或 FLUSH HOSTS
  • 調整閾值:啟動參數 --max_connect_errors=10000
  • 根因排查:優先檢查 TCP/IP 網路連線是否正常,單純調大閾值無法解決網路問題
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved