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

Batasan dalam tabel MYSQL?

Ada beberapa hal tentang dua batasan yang ingin Anda terapkan:

  1. Baris baru yang dimasukkan tidak boleh memiliki nilai NULL untuk kolom Parent_group.

    • Anda dapat menerapkan batasan NOT NULL pada kolom hanya jika kolom tersebut berisi semua nilai non-null. Anda memerlukan nilai nol di kolom ini untuk simpul akar.
    • Untuk ini, Anda dapat menggunakan batasan CHECK. Baca lebih lanjut tentang CHECK CONSTRAINT di sini .
    • Anda dapat menempatkan

Ini akan memungkinkan nilai NULL hanya untuk simpul akar dan akan memberlakukan nilai NOT NULL untuk setiap baris lain dalam tabel.

  1. Tambahkan batasan agar baris RootGroup tidak dapat dihapus.

    • Bahwa Anda telah menetapkan kunci asing antara parent_group dan pkey , database akan secara otomatis menerapkan integritas referensial dan melarang node root (atau dalam hal ini node induk) dihapus. Basis data akan mengembalikan kesalahan jika DELETE dicoba pada node induk atau root mana pun.
  2. Untuk poin yang disebutkan dalam EDIT bagian, Anda dapat menempatkan batasan pemeriksaan sederhana pada tabel seperti
    CHECK (parent_group != pkey) . Ini akan berhasil untuk Anda.

Baca tentang cara mendefinisikan batasan kunci asing dan cara menggunakannya untuk menegakkan integritas referensial. Juga, buka tautan yang telah saya posting di atas atau di sini sebelum Anda menerapkan saran ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyimpan lebih dari 255 char di database MySQL?

  2. Ruby mysql2 Kesalahan

  3. Memindahkan database mysql dari satu server ke server lain

  4. cara mendapatkan nilai dalam array dari kueri individual

  5. Perbedaan waktu rata-rata di mysql