Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Cara Membuat Indeks Unik 'Dua Sisi' Pada Dua Bidang?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengejek kueri penyisipan ke Database MySQL menggunakan Moq

  2. pilih count(*) dari tabel mysql di php

  3. RuntimeError:OperationalError:(2003, Tidak dapat terhubung ke server MySQL di 'IPaddress of the instance'

  4. Bagaimana cara mengaktifkan koneksi ulang otomatis klien MySQL dengan MySQLdb?

  5. PHP MYSQL mengambil TEKS dengan baris baru