Bagaimanakah MySQL mengendalikan kekangan?

PHPz
Lepaskan: 2023-08-27 15:45:08
ke hadapan
643 orang telah melayarinya

MySQL 如何处理约束?

Mari kami fahami cara MySQL mengendalikan kekangan -

MySQL membantu kami mengendalikan jadual transaksi (putar balik dibenarkan) dan jadual bukan transaksi (putar balik tidak dibenarkan (balik balik tidak dibenarkan)). Inilah sebab mengapa MySQL mengendalikan kekangan secara berbeza daripada DBMS lain. Dalam pangkalan data bukan transaksi, jika ralat berlaku semasa memasukkan atau mengemas kini berbilang baris, tiada cara untuk berpatah balik. Keadaan ini mesti ditangani dengan cara yang betul.

MySQL Server menjana ralat untuk pertanyaan yang mengesan ralat semasa menghuraikan pernyataan yang perlu dilaksanakan. Sebaik sahaja ralat dikesan, ia cuba pulih daripada ralat semasa melaksanakan kenyataan. Ini tidak dilakukan pada masa ini untuk semua kenyataan.

MySQL boleh menghentikan pernyataan di tengah atau pulih daripadanya dan meneruskan apabila ralat berlaku. Secara lalai, pelayan pulih daripada ini dan meneruskan.

Kunci asing membenarkan rujukan silang data merentas jadual, dan kekangan kunci asing membantu memastikan data yang bertaburan ini kekal konsisten.

Rujukan Kunci Asing

MySQL menyokong ON UPDATE dan ON DELETE rujukan kunci asing dalam kenyataan CREATE TABLE dan ALTER TABLE.

Operasi rujukan

Operasi rujukan yang ada ialah - HAD, CASCADE, SET NULL dan NO ACTION.

NO ACTION ialah operasi rujukan lalai.

ENUM

Nilai ENUM mestilah nilai yang disenaraikan dalam takrifan lajur, atau nombor dalaman yang setara. Nilai tidak boleh menjadi nilai ralat (0 atau rentetan kosong). Untuk lajur yang ditakrifkan sebagai ENUM('a','b','c'), nilai selain daripada 'a', 'b' atau 'c', seperti '', 'd' atau 'ax' adalah dianggap Tidak sah dan ditolak.

Atas ialah kandungan terperinci Bagaimanakah MySQL mengendalikan kekangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan