暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mysql rowid

原创 万事如意 2023-02-22
1002

如果在表中存在主键或非空唯一索引,并且仅由一个整数类型的列构成,那么就可以使用 SELECT 语句直接查询 _rowid ,并且这个 _rowid 的值会引用该索引列的值。

着重看一下文档中提到的几个关键字, 主键、 唯一索引、 非空、 单独一列、 数值类型,接下来我们就要从这些角度入手,探究一下神秘的隐藏字段 _rowid 。

1、存在主键

先看设置了主键且是数值类型的情况,使用下面的语句建表:

CREATE TABLE `table1`(
`id` bigint( 20) NOT NULL PRIMARY KEY,
`name` varchar( 32) DEFAULT NULL
) ENGINE= InnoDB;
1
2
3
4
1
2
3
4
插入三条测试数据后,执行下面的查询语句,在 select 查询语句中直接查询 _rowid :

select*,_rowid fromtable1
1
1
查看执行结果, _rowid 可以被正常查询:



可以看到在设置了主键,并且主键字段是数值类型的情况下, _rowid 直接引用了主键字段的值。对于这种可以被 select 语句查询到的的情况,可以将其称为 显式的 rowid 。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论