Lấy từ dev.mysql.com :
Để tránh các vấn đề chuyển dữ liệu phát sinh từ chữ cái của cơ sở dữ liệu hoặc tên bảng, bạn có hai tùy chọn:
- Sử dụng Lower_case_table_names =1 trên tất cả các hệ thống. Điểm bất lợi chính của việc này là khi bạn sử dụng HIỂN THỊ BẢNG BIỂU hoặc HIỂN THỊ DỮ LIỆU, bạn sẽ không thấy tên trong chữ cái ban đầu của chúng.
- Sử dụng Lower_case_table_names =0 trên Unix và Lower_case_table_names =2 trên Windows. Điều này bảo toàn chữ cái của cơ sở dữ liệu và tên bảng. Điểm bất lợi của điều này là bạn phải đảm bảo rằng các câu lệnh của bạn luôn tham chiếu đến cơ sở dữ liệu và tên bảng của bạn với chữ cái chính xác trên Windows. Nếu bạn chuyển các câu lệnh của mình sang Unix, trong đó chữ hoa là quan trọng, thì chúng sẽ không hoạt động nếu chữ hoa không chính xác.
Ngoại lệ:Nếu bạn đang sử dụng bảng InnoDB và bạn đang cố gắng tránh những sự cố truyền dữ liệu này, bạn nên đặt Lower_case_table_names thành 1 trên tất cả các nền tảng để buộc chuyển đổi tên thành chữ thường.
Nếu bạn định đặt biến hệ thống low_case_table_names thành 1 trên Unix, trước tiên bạn phải chuyển đổi cơ sở dữ liệu cũ và tên bảng của mình thành chữ thường trước khi dừng mysqld và khởi động lại nó với cài đặt biến mới.