Rumah > pangkalan data > tutorial mysql > Bagaimanakah Kunci Asing Memastikan Integriti Data dalam Perhubungan MySQL?

Bagaimanakah Kunci Asing Memastikan Integriti Data dalam Perhubungan MySQL?

Barbara Streisand
Lepaskan: 2025-01-24 14:31:10
asal
587 orang telah melayarinya

How Do Foreign Keys Ensure Data Integrity in MySQL Relationships?

Kekunci Asing MySQL: Mengekalkan Integriti Data dalam Hubungan Jadual

Membina pangkalan data yang kukuh dan boleh dipercayai memerlukan mengurus hubungan dengan teliti antara jadual. Mekanisme utama asing MySQL adalah penting untuk memastikan integriti data dalam hubungan ini.

mari kita menggambarkan dengan contoh yang melibatkan dua jadual:

dan accounts. Setiap akaun tergolong dalam pelanggan tertentu, yang dikenal pasti oleh customers yang unik. Kekangan utama asing menetapkan pautan ini. customer_id

<code class="language-sql">CREATE TABLE accounts (
    account_id INT NOT NULL AUTO_INCREMENT,
    customer_id INT(4) NOT NULL,
    account_type ENUM('savings', 'credit') NOT NULL,
    balance FLOAT(9) NOT NULL,
    PRIMARY KEY (account_id),
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
) ENGINE=INNODB;</code>
Salin selepas log masuk
Kod ini mencipta jadual

dan termasuk kekangan utama asing pada lajur accounts. Kekangan ini merujuk customer_id dalam jadual customer_id, menguatkuasakan bahawa setiap customers dalam customer_id mesti sepadan dengan accounts yang sedia ada dalam jadual customer_id. customers

Manfaat teras kunci asing adalah penguatkuasaan integriti rujukan mereka. Sebarang percubaan untuk memasukkan atau mengemas kini data dalam jadual

yang melanggar hubungan ini (mis., Merujuk kepada accounts) yang tidak wujud akan ditolak oleh pangkalan data, mengekalkan konsistensi data. customer_id

Atas ialah kandungan terperinci Bagaimanakah Kunci Asing Memastikan Integriti Data dalam Perhubungan MySQL?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan