Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mencipta Jadual Perhubungan dengan Dua Lajur Auto-Tambahan Berasingan?

Bagaimanakah Saya Boleh Mencipta Jadual Perhubungan dengan Dua Lajur Auto-Tambahan Berasingan?

Mary-Kate Olsen
Lepaskan: 2025-01-06 08:16:40
asal
301 orang telah melayarinya

How Can I Create a Relational Table with Two Separate Auto-Incrementing Columns?

SQL: Mencipta Jadual Perhubungan dengan Dua Kenaikan Auto yang Berbeza

Masalah:

Anda ingin membuat jadual hubungan dengan dua lajur autoinkremen, tetapi anda menemui satu ralat.

Penjelasan:

Percubaan anda untuk mewujudkan jadual perhubungan dengan berbilang lajur auto-increment adalah berdasarkan salah faham konsep kunci primer.

Kunci Konsep:

  • Kunci utama: Pengecam unik yang mengenal pasti setiap baris dalam jadual.
  • Autokenaikan: Ciri yang menjana nilai unik secara automatik untuk yang ditentukan lajur.

Kesilapan:

  • Menetapkan lajur ID sebagai kunci utama.
  • Dengan mengandaikan bahawa lajur ID menyediakan baris keunikan, yang dilakukannya tidak.

Penyelesaian:

  1. Alih keluar medan ID yang berlebihan: Hapuskan lajur ID daripada kedua-dua jadual kerana ia tidak diperlukan untuk pengenalan baris.
  2. Isytihar baris keunikan: Kuatkuasakan keunikan baris dengan mencipta kekangan unik pada kunci yang diperolehi data, seperti gabungan medan nama. Contohnya:
CREATE TABLE relational_table (
    name_first CHAR(30), 
    name_last  CHAR(30),
    CONSTRAINT PK
        PRIMARY KEY ( name_last, name_first )
    )
Salin selepas log masuk
  1. Buat jadual bersekutu: Untuk mewujudkan hubungan antara kedua-dua jadual, buat jadual bersekutu yang menggunakan kekunci utama daripada kedua-dua jadual sebagai kunci utama. Contohnya:
CREATE TABLE user_sport (
    user_name  CHAR(16) NOT NULL,   -- FK
    sport_code CHAR(4)  NOT NULL,   -- FK
    start_date DATE     NOT NULL,

    CONSTRAINT PK 
        PRIMARY KEY ( user_name, sport_code )
    )
Salin selepas log masuk
  1. Alih keluar pernyataan autoink: Autokenaikan tidak diperlukan untuk jadual hubungan dan boleh menyebabkan kekeliruan.

Kebaikan Pembuangan:

  • Menguatkuasakan keunikan baris.
  • Meningkatkan integriti data.
  • Menghapuskan rekod pendua.
  • Memudahkan perhubungan utama asing.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Jadual Perhubungan dengan Dua Lajur Auto-Tambahan Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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