2011-10-18 36 views
5

Tôi đang sử dụng db mysql. Tôi biết postgresql và SQL server hỗ trợ một phần Indexing. Trong trường hợp của tôi, tôi muốn làm một cái gì đó như thế này:Giải pháp trong mysql cho một phần Chỉ mục hoặc chỉ mục được lọc?

CREATE UNIQUE INDEX myIndex ON myTable (myColumn) where myColumn <> 'myText' 

Tôi muốn tạo một ràng buộc duy nhất nhưng nó sẽ cho phép trùng lặp nếu nó là một văn bản cụ thể.

Tôi không thể tìm thấy cách trực tiếp để thực hiện việc này trong mysql. Tuy nhiên, có một cách giải quyết để đạt được nó?

Trả lời

5

Tôi cho rằng chỉ có một cách để đạt được điều đó. Bạn có thể thêm cột khác để bàn của bạn, tạo chỉ mục trên nó và tạo ra kích hoạt hoặc làm chèn/cập nhật bên trong thủ tục lưu trữ của bạn để điền cột này sử dụng điều kiện sau đây:

if value = 'myText' then put null 
otherwise put value 

Hy vọng nó giúp

Các vấn đề liên quan