Bagaimana dengan mengontrol apa yang masuk ke tabel sehingga Anda selalu menyimpan angka terkecil di kolom pertama dan terbesar di kolom kedua? Selama itu 'berarti' sama tentunya. Mungkin lebih murah untuk melakukannya bahkan sebelum sampai ke database.
Jika ini tidak mungkin, Anda dapat menyimpan bidang apa adanya tetapi menduplikasinya dalam urutan numerik menjadi dua bidang LAINNYA, di mana Anda akan membuat kunci utama (kode semu) :
COLUMN A : 2
COLUMN B : 1
COLUMN A_PK : 1 ( if new.a < new.b then new.a else new.b )
COLUMN B_PK : 2 ( if new.b > new.a then new.b else new.a )
Ini dapat dengan mudah dilakukan dengan pemicu (seperti dalam tanggapan Ronald) atau ditangani lebih tinggi, dalam aplikasi.