如何理解mysql 5.7 _rowid虚列,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
查阅官方资料
13 SQL Statement Syntax
13.1 Data Definition Statements
13.1.14 CREATE INDEX Syntax
测试示例
创建测试表并插入数据
mysql> create table t_rowid(a int,b int,key(a));
Query OK, 0 rows affected (0.03 sec)
mysql> insert into t_rowid select 1,1;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> insert into t_rowid select 2,2;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
显示_rowid
mysql> select _rowid from t_rowid;
+——–+
| _rowid |
+——–+
| 1 |
| 2 |
+——–+
2 rows in set (0.00 sec)
mysql> select _ROWID from t_rowid;
+——–+
| _ROWID |
+——–+
| 1 |
| 2 |
+——–+
2 rows in set (0.00 sec)
显示_rowid及部分列
mysql> select _rowid,a from t_rowid;
+——–+—+
| _rowid | a |
+——–+—+
| 1 | 1 |
| 2 | 2 |
+——–+—+
2 rows in set (0.00 sec)
显示_rowid及全部列
mysql> select _rowid,a,b from t_rowid;
+——–+—+——+
| _rowid | a | b |
+——–+—+——+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
+——–+—+——+
2 rows in set (0.00 sec)
不能显示_rowid及*
mysql> select _rowid,* from t_rowid;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near '* from t_rowid' at line 1
mysql>
_rowid不适用于下述场景:
主键列或者普通列的数据类型不是数字类型
主键是联合主键
唯一列是非空的
关于如何理解mysql 5.7 _rowid虚列问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助。
如何理解mysql 5.7 _rowid虚列
如何理解mysql 5.7 _rowid虚列,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 查阅官方资料 13 SQL Statement Syntax 13.1 Data Definition Statements 13.1.14 CREATE INDEX Synta
本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/mysql/2021/1226/43377.html