2011-07-01 19 views

Trả lời

5

Trường hợp độ nhạy khi đánh giá chuỗi trong cơ sở dữ liệu được xác định bởi collation.

Kiểm tra đối chiếu xử lý trên H2: http://www.h2database.com/html/grammar.html#set_collation

+0

cảm ơn OMG. Tôi không nhận được nó, họ nói rằng H2 hỗ trợ thiết lập collation trên một bảng hoặc cột, hoặc là họ nói về thiết lập collation để kết nối jdbc? Có vẻ như H2 không tôn trọng sự đối chiếu trên cột của tôi (đó là latin1) và thay vào đó là sử dụng utf8. – stevebot

2

Là một thay thế cho việc sử dụng một collation, bạn có thể vô hiệu hóa sự nhạy cảm trường hợp sử dụng SET IGNORECASE TRUE. Điều này cần phải được thực hiện trước khi tạo các bảng.

Lý do tại sao chế độ MySQL của H2 không trường hợp không nhạy cảm là: chế độ tương thích trong H2 không ảnh hưởng đến cách mọi thứ đang tồn (nếu không bạn không thể truy cập vào một cơ sở dữ liệu trong chế độ tương thích khác nhau sau này, hoặc tắt chế độ tương thích). Trường hợp nhạy cảm ảnh hưởng đến cách thức những thứ được lưu trữ (đặc biệt chỉ mục).

0

Sử dụng VARCHAR_IGNORECASE thay vì VARCHAR.

Reference