2011-10-18 19 views
5

Mysql db kullanıyorum. Postgresql biliyorum ve SQL sunucu kısmi Dizinleme destekler.Kısmi Dizin veya filtrelenmiş dizin için mysql içinde geçici çözüm?

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

Ben benzersiz kısıtlama oluşturmak istiyor ancak belirli bir metin ise o çiftleri izin vermelidir: Benim durumumda böyle bir şey yapmak istiyorum.

Bunu mysql'de yapmak için doğrudan bir yol bulamadım. Ancak, bunu başarmak için bir çözüm var mı?

cevap

5

Bunu başarmanın sadece bir yolu olduğunu varsayalım. Sen, tabloya başka bir sütun eklemek üzerine dizin oluşturmak ve tetikleyici oluşturmak veya şu koşulunu kullanarak bu sütunu doldurmak için saklı prosedürler içine/güncelleme eklemek yapabilirsiniz:

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

o

yardımcı olur umarım