MySQL InnoDB 中可以自動遞增非主鍵列。這可以透過在列上建立索引來實現。
在給定的範例中,要自動遞增book_comments 表中的comment_id 列,請按照以下步驟操作:
<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>
新增comment_id上的INDEX啟用自動遞增行為,同時確保相應的索引由InnoDB維護。 id 索引名稱可以根據需要自訂。
對於 book_comments_votes 表,建議使用 book_comments 中的整個主鍵作為外鍵,以強制引用完整性並避免重複。
而將 comment_id 作為主鍵並透過 book_id、時間戳和 user_id 上的唯一索引強製完整性在概念上是可行的,通常被認為是最佳實踐每個表都有唯一的主鍵。這確保了一致且可靠的資料檢索和維護。
以上是MySQL InnoDB中的非主鍵列可以自增嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!