MySQL建表時不設置主鍵


在mysql的技術文檔里面有如下文字:

          If you do not define a PRIMARY KEY for your table, MySQL picks the first UNIQUE index that has only NOT NULL columns as the primary key and InnoDB uses it as the clustered index. If there is no such index in the table, InnoDB internally generates a clustered index where the rows are ordered by the row ID that InnoDB assigns to the rows in such a table. The row ID is a 6-byte field that increases monotonically as new rows are inserted. Thus, the rows ordered by the row ID are physically in insertion order. 

翻譯一下就是:如果沒有主動設置主鍵,就會選一個不包含NULL的第一個唯一索引列作為主鍵列,並把它用作一個聚集索引。如果沒有這樣的索引就會使用行號生成一個聚集索引,把它當做主鍵,這個行號6bytes,自增。可以用select _rowid from table來查詢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM