Rumah > pangkalan data > tutorial mysql > Bilakah Kekangan Utama/UNIK YANG BOLEH DITANGGUHKAN Sebenarnya Dikuatkuasakan dalam PostgreSQL?

Bilakah Kekangan Utama/UNIK YANG BOLEH DITANGGUHKAN Sebenarnya Dikuatkuasakan dalam PostgreSQL?

DDD
Lepaskan: 2025-01-06 09:11:40
asal
372 orang telah melayarinya

When Are DEFERRABLE PRIMARY/UNIQUE Key Constraints Actually Enforced in PostgreSQL?

BOLEH DITANGGUHKAN AWALNYA SEGERA Kekangan: Penguatkuasaan Pelaksanaan

Soalan:

Apakah titik tepat di mana BOLEH DITANGGUH / MENANGGUH Kekangan kunci unik/utama SEGERA adalah dikuatkuasakan?

Jawapan:

Menurut Tom Lane, pembangun teras PostgreSQL yang terkemuka, tingkah laku semasa adalah bertujuan dan tidak akan diubah. Kekangan dianggap berpuas hati jika ia berlaku pada penghujung arahan, walaupun ia dilanggar semasa langkah perantaraan.

Ringkasan Penguatkuasaan Kekangan:

  • TIDAK DITANGGUHKAN Kekangan UNIK/UTAMA UTAMA: Disemak selepas setiap baris.
  • Kekangan BOLEH DITANGGUH (SEGERA): Disemak selepas setiap pernyataan.
  • Kekangan BOLEH DITANGGUH (DITANGGUH): Disemak selepas setiap pernyataan urus niaga.

Pengecualian:

  • TIDAK DITANGGUH Kekangan Keunikan: Walaupun standard SQL menetapkan penguatkuasaan pada penghujung kenyataan, PostgreSQL menyemak keunikan serta-merta selepas setiap arahan untuk UNIQUE/PRIMER KEY kekangan.

Penyelesaian:

Untuk mematuhi piawaian SQL, isytiharkan kekangan itu sebagai BOLEH DITANGGUHKAN tetapi AWALNYA SEGERA. Walau bagaimanapun, ini mungkin mempunyai implikasi prestasi berbanding semakan keunikan serta-merta.

Penghadan:

Kekangan KUNCI ASING tidak boleh merujuk lajur BOLEH DITANGGUH kerana lajur yang dirujuk mestilah sebahagian daripada lajur bukan -kekangan kunci unik atau primer yang boleh ditangguhkan.

Atas ialah kandungan terperinci Bilakah Kekangan Utama/UNIK YANG BOLEH DITANGGUHKAN Sebenarnya Dikuatkuasakan dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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