Ada kemungkinan untuk menambah lajur kunci bukan utama secara automatik dalam MySQL InnoDB. Ini boleh dicapai dengan membuat indeks pada lajur.
Dalam contoh yang diberikan, untuk menambah automatik lajur comment_id dalam jadual book_comments, ikut langkah berikut:
<code class="sql">CREATE TABLE book_comments ( book_id mediumint, timestamp mediumint, user_id mediumint, vote_up smallint, vote_down smallint, comment text, comment_id mediumint, PRIMARY KEY (book_id, timestamp, user_id), INDEX id (comment_id) );</code>
Menambah INDEX pada comment_id mendayakan gelagat autokenaikan sambil memastikan bahawa indeks yang sepadan dikekalkan oleh InnoDB. Nama indeks id boleh disesuaikan mengikut keperluan.
Untuk jadual book_comments_votes, adalah disyorkan untuk menggunakan keseluruhan kunci utama daripada book_comments sebagai kunci asing untuk menguatkuasakan integriti rujukan dan mengelakkan pendua.
Sementara menjadikan comment_id sebagai kunci utama dan menguatkuasakan integriti melalui indeks unik pada book_id, timestamp dan user_id adalah berdaya maju secara konsep, secara amnya dianggap sebagai amalan terbaik untuk mempunyai kunci utama yang unik untuk setiap jadual. Ini memastikan pengambilan dan penyelenggaraan data yang konsisten dan boleh dipercayai.
Atas ialah kandungan terperinci Bolehkah Lajur Kunci Bukan Utama dalam MySQL InnoDB boleh Auto-Increment?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!