为什么我插入数据,然后查询发现最近插入的记录在最上边?
表的结构为:
mysql> desc t_role;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | UNI | NULL | |
+-------+--------------+------+-----+---------+----------------+
查询数据结果:
mysql> select * from t_role;
+----+-----------+
| id | name |
+----+-----------+
| 4 | scriptguy |
| 3 | 模块1 |
| 2 | 暖暖的 |
+----+-----------+
3 rows in set (0.00 sec)
请问这是为什么呢?
------解决方案--------------------
记录的插入后的物理顺序是由MYSQL来控制了。
数据库原理中的一个重要理论就是集合中的元组是没有顺序 的。
输出的顺序要由你自己通过ORDER BY 来控制。