Rumah > Artikel > pangkalan data > Bagaimana untuk Auto-Increment Kekunci Bukan Utama dalam MySQL InnoDB?
MySQL InnoDB: Auto-Incrementing Non-Primary Keys
Enjin storan InnoDB MySQL membenarkan nilai penambahan automatik untuk kunci utama. Walau bagaimanapun, penambahan kunci bukan utama secara automatik tidak disokong secara langsung.
Soalan Khusus: Struktur Jadual
Pertimbangkan struktur jadual berikut untuk "book_comments":
book_id medium_int timestamp medium_int user_id medium_int vote_up small_int vote_down small_int comment text comment_id medium_int
Adakah Penambahan Auto Kunci Bukan Utama Mungkin?
Ya, adalah mungkin untuk menambah kunci bukan utama secara automatik. Walau bagaimanapun, ia memerlukan penciptaan indeks pada lajur untuk dinaikkan secara automatik.
Penyelesaian Disyorkan
Walaupun terdapat kemungkinan penambahan kunci bukan utama secara automatik, yang disyorkan penyelesaiannya ialah menjadikan "comment_id" sebagai kunci utama dan mencipta indeks unik pada gabungan "book_id", "timestamp" dan "user_id" untuk tujuan integriti data.
Pertimbangan Tambahan
Cadangan alternatif yang disebut dalam soalan mempunyai kelemahan:
Oleh itu, penyelesaian yang paling cekap dan teguh ialah mengikut pendekatan yang disyorkan menggunakan "comment_id" sebagai kunci utama dan mencipta indeks unik pada "book_id", "timestamp" dan "user_id".
Atas ialah kandungan terperinci Bagaimana untuk Auto-Increment Kekunci Bukan Utama dalam MySQL InnoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!