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

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