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
Barbara Streisandasal
2025-01-24 14:31:10635semak imbas

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>
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!

Kenyataan:
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