Hướng dẫn how to make mysql database case insensitive - làm thế nào để làm cho trường hợp cơ sở dữ liệu mysql không nhạy cảm
Show 9.2.3 & nbsp; độ nhạy của trường hợp định danh Trong MySQL, cơ sở dữ liệu tương ứng với các thư mục trong thư mục dữ liệu. Mỗi bảng trong cơ sở dữ liệu tương ứng với ít nhất một tệp trong thư mục cơ sở dữ liệu (và có thể nhiều hơn, tùy thuộc vào công cụ lưu trữ). Trình kích hoạt cũng tương ứng với các tập tin. Do đó, độ nhạy trường hợp của hệ điều hành cơ bản đóng một phần trong độ nhạy trường hợp của cơ sở dữ liệu, bảng và tên kích hoạt. Điều này có nghĩa là những cái tên như vậy không nhạy cảm với trường hợp trong Windows, nhưng nhạy cảm với trường hợp trong hầu hết các giống UNIX. Một ngoại lệ đáng chú ý là macOS, dựa trên UNIX nhưng sử dụng loại hệ thống tệp mặc định (HFS+) không nhạy cảm trường hợp. Tuy nhiên, MacOS cũng hỗ trợ khối lượng UFS, có tính nhạy cảm với trường hợp giống như trên bất kỳ Unix nào. Xem Phần & NBSP; 1.7.1, Phần mở rộng MySQL cho SQL tiêu chuẩn. Biến hệ thống Ghi chú Mặc dù cơ sở dữ liệu, bảng và tên kích hoạt không nhạy cảm với trường hợp trên một số nền tảng, bạn không nên đề cập đến một trong số này bằng cách sử dụng các trường hợp khác nhau trong cùng một câu lệnh. Tuyên bố sau đây sẽ không hoạt động vì nó đề cập đến một bảng cả là
Phân vùng, phân vùng, cột, chỉ mục, thường xuyên được lưu trữ, sự kiện và tên nhóm tài nguyên không nhạy cảm với bất kỳ nền tảng nào, cũng không phải là bí danh cột. Tuy nhiên, tên của các nhóm logfile là nhạy cảm trường hợp. Điều này khác với SQL tiêu chuẩn. Theo mặc định, các bí danh bảng có tính nhạy cảm với trường hợp trên Unix, nhưng không phải như vậy trên Windows hoặc MacOS. Tuyên bố sau đây sẽ không hoạt động trên Unix, bởi vì nó đề cập đến bí danh cả
Tuy nhiên, câu lệnh tương tự này được cho phép trên Windows. Để tránh các vấn đề gây ra bởi sự khác biệt như vậy, tốt nhất là áp dụng một quy ước nhất quán, chẳng hạn như luôn luôn tạo và đề cập đến cơ sở dữ liệu và bảng sử dụng tên chữ thường. Công ước này được khuyến nghị cho tính di động tối đa và dễ sử dụng. Cách các tên bảng và cơ sở dữ liệu được lưu trữ trên đĩa và được sử dụng trong MySQL bị ảnh hưởng bởi biến hệ thống
Nếu bạn đang sử dụng MySQL trên một nền tảng, bạn thường không phải sử dụng cài đặt
Tên đối tượng có thể được coi là trùng lặp nếu các dạng viết hoa của chúng bằng nhau theo một đối chiếu nhị phân. Điều đó đúng với tên của con trỏ, điều kiện, quy trình, chức năng, điểm lưu, các tham số thường xuyên được lưu trữ, các biến cục bộ chương trình được lưu trữ và plugin. Nó không đúng với tên của các cột, ràng buộc, cơ sở dữ liệu, phân vùng, câu lệnh được chuẩn bị với Độ nhạy của trường hợp hệ thống tệp có thể ảnh hưởng đến các tìm kiếm trong các cột chuỗi của bảng Là trường hợp mysqlTên bảng được lưu trữ bằng chữ thường trên đĩa và so sánh tên không nhạy cảm trường hợp. MySQL chuyển đổi tất cả các tên bảng thành chữ thường khi lưu trữ và tra cứu. Hành vi này cũng áp dụng cho tên cơ sở dữ liệu và bí danh bảng.. MySQL converts all table names to lowercase on storage and lookup. This behavior also applies to database names and table aliases.
Chúng ta có thể làm cho trường hợp mysql khôngCác chức năng chuỗi trong MySQL luôn nhạy cảm trường hợp, vì vậy bạn có thể sử dụng bất kỳ chức năng nào định vị, vị trí hoặc thiết bị., so you could use any of the functions LOCATE , POSITION , or INSTR . |