Câu lệnh MySQL sau trả về các hàng đó từ bảng nhà xuất bản có nhà xuất bản không thuộc quốc gia Hoa Kỳ. Cột pub_name và các giá trị của tên nhà xuất bản viết hoa đã được hiển thị ở đầu ra
Độ nhạy trường hợp của tên đối tượng là khác nhau đối với SQL Server và Amazon Aurora MySQL-Compatible Edition [Aurora MySQL]. Tên đối tượng SQL Server phân biệt chữ hoa chữ thường được xác định bởi bộ sưu tập. Tên Aurora MySQL có phân biệt chữ hoa chữ thường và có thể được điều chỉnh dựa trên tham số được đề cập sau đây
Trong Aurora MySQL, độ nhạy trường hợp được xác định bởi giá trị tham số lower_case_table_names
. Nói chung có 3 giá trị có thể cho tham số này. Để tránh một số sự cố, bạn chỉ có thể sử dụng hai giá trị với tham số này
0 — tên được lưu dưới dạng đã cho và so sánh phân biệt chữ hoa chữ thường. Bạn có thể chọn giá trị này cho tất cả các phiên bản Amazon Relational Database Service [Amazon RDS] for MySQL
1 — tên được lưu trữ bằng chữ thường và so sánh không phân biệt chữ hoa chữ thường. Bạn có thể chọn giá trị này cho Amazon RDS for MySQL phiên bản 5. 6, phiên bản 5. 7 và phiên bản 8. 0. 19 trở lên 8. 0 phiên bản
Tham số lower_case_table_names
phải được đặt thành một phần của nhóm tham số DB tùy chỉnh trước khi tạo phiên bản DB. Bạn nên tránh thay đổi tham số lower_case_table_names
đối với các phiên bản cơ sở dữ liệu hiện có vì làm như vậy có thể gây ra sự không nhất quán với các bản sao lưu phục hồi tại thời điểm và các phiên bản sao chép cơ sở dữ liệu đã đọc
Bản sao chỉ có quyền đọc phải luôn sử dụng cùng một giá trị tham số lower_case_table_names
như phiên bản CSDL nguồn
Theo mặc định, tên đối tượng đang được lưu trữ bằng chữ thường cho MySQL. Trong hầu hết các trường hợp, bạn sẽ muốn sử dụng các chuyển đổi AWS Database Migration Service để thay đổi tên lược đồ, bảng và cột thành chữ thường
ví dụ
Ví dụ: để tạo một bảng có tên EMPLOYEES viết hoa trong MySQL, bạn nên sử dụng như sau
CREATE TABLE EMPLOYEES [ EMP_ID NUMERIC PRIMARY KEY, EMP_FULL_NAME VARCHAR[60] NOT NULL, AVG_SALARY NUMERIC NOT NULL];
Lệnh sau tạo một bảng có tên là employee viết thường
CREATE TABLE employees [ EMP_ID NUMERIC PRIMARY KEY, EMP_FULL_NAME VARCHAR[60] NOT NULL, AVG_SALARY NUMERIC NOT NULL];
MySQL sẽ tìm tên đối tượng với phân biệt chữ hoa chữ thường chính xác như được viết trong truy vấn
Bạn có thể tắt phân biệt chữ hoa chữ thường của tên bảng trong MySQL bằng cách đặt tham số lower_case_table_names
thành 1. Cột, chỉ mục, quy trình được lưu trữ, tên sự kiện và bí danh cột không phân biệt chữ hoa chữ thường trên cả hai nền tảng
Khi giá trị của tham số cơ sở dữ liệu nguồn Lower_case_table_names được đặt thành 1, cơ sở dữ liệu hoặc bảng có tên chứa chữ hoa không thể được di chuyển
Nguyên nhân có thể
Khi giá trị của Lower_case_table_names trong cơ sở dữ liệu nguồn là 1, công cụ MySQL sẽ chuyển đổi tên cơ sở dữ liệu hoặc tên bảng thành chữ thường. Trong trường hợp này, có thể không tìm thấy cơ sở dữ liệu hoặc bảng, dẫn đến truy vấn không thành công. Đơn giản, nếu giá trị của Lower_case_table_names là 1, cơ sở dữ liệu hoặc bảng chứa các chữ hoa có thể không truy cập được
Các giải pháp
Hai giải pháp được cung cấp như sau
Giải pháp 1
Thay đổi giá trị của Lower_case_table_names trong cơ sở dữ liệu nguồn thành 0 [phân biệt chữ hoa chữ thường] và đảm bảo rằng giá trị của tham số này trong cơ sở dữ liệu nguồn giống với giá trị trong cơ sở dữ liệu đích
Giải pháp 2
Nếu giá trị của Lower_case_table_names không thể thay đổi vĩnh viễn, hãy thay đổi giá trị thành 0, sau đó thực hiện các thao tác sau
- Đối với một bảng, bạn có thể sử dụng câu lệnh sau để chuyển tên bảng thành chữ thường.
alter table `BigTab` rename to `bigtab`
- Đối với cơ sở dữ liệu, bạn cần xuất dữ liệu cơ sở dữ liệu, thay đổi tên cơ sở dữ liệu từ chữ hoa thành chữ thường, sau đó nhập dữ liệu
Sau khi thay đổi tên cơ sở dữ liệu hoặc tên bảng, bạn cần duy trì tính nhất quán của quyền mà không ảnh hưởng đến quyền truy cập ứng dụng
Bây giờ hãy sử dụng cơ sở dữ liệu có hai bảng. Tên cơ sở dữ liệu như sau “ bothinnodbandmyisam”. Cơ sở dữ liệu này có các bảng sau -
Mô tả của bảng nhân viên như sau -
mysql> desc employee;
Sau đây là đầu ra. Giả sử chúng ta có các cột sau trong bảng sinh viên không viết thường -
Tên bảng chữ hoa trong Mysql đi kèm với xampp
Dưới đây là các bước chung được thực hiện trong video trên. [Không phải các bước chính xác]
Trước tiên hãy kiểm tra giá trị biến mặc định trong Mysql
- Mở bảng điều khiển xampp . Bắt đầu mysql.
- Mở Shell từ bảng điều khiển xampp .
- Đăng nhập vào cơ sở dữ liệu mysql .
- Thực hiện lệnh dưới đây để lấy giá trị mặc định từ máy chủ mysql
show variables where variable_name = "lower_case_table_names";Ở trên sẽ trả về kết quả tương tự như bên dưới
+------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | lower_case_table_names | 1 | +------------------------+-------+ 1 row in set [0.37 sec]
- Để đặt tên bảng thành chữ hoa, chúng ta cần thay đổi giá trị của biến lower_case_table_names từ 1 thành 2.
Thay đổi giá trị biến
- Mở của tôi. ini từ bảng điều khiển xampp .
- Tìm văn bản cho [mysqld] trong tệp.
- Thêm văn bản bên dưới vào dòng tiếp theo sau văn bản [mysqld] và lưu tệp.
lower_case_table_names=2Sau khi áp dụng các thay đổi ở trên, phần cấu hình sẽ giống như bên dưới
# The MySQL server [mysqld] lower_case_table_names=2
- Khởi động lại mysql từ bảng điều khiển xampp .
Hãy thử tạo bảng với tên viết hoa
Dưới đây là dãy sql dùng để tạo database và table
- ________số 8_______
- Tài liệu tham khảo hoặc các trang web được hiển thị trong video
- đổi-tên-bảng-thành-chữ-thường
Quảng cáo
Như thế này
Thích Đang tải.
Có liên quan
201605 /04 DANH MỤC Công nghệ thông tinmysqlTAGSWindows 10