记录的真实数据除了自己定义的列的数据以外,还会有三个隐藏列:
列名 |
是否必须 |
占用空间 |
描述 |
Row_id |
否 |
6字节 |
行ID,唯一标识一条记录 |
Transaction_id |
是 |
6字节 |
事务ID |
Roll_pointer |
是 |
7字节 |
回滚指针 |
实际上这几个列的真正名称是:DB_row_id、DB_TRX_id、DB_roll_ptr。
一个表没有手动定义主键,则会选取一个unique键作为主键,如果连unique键都没有定义的话,则会为表默认添加一个名为row_id的隐藏列作为主键,所以row_id是在没有自定义主键以及unique键的情况下才会存在的。