在表格中插入行不会使其成为最后一行,而是在某些行上方插入一行。
insert into table (revenueSB40, revenueSM40, sum, eedate)
values(100,200,300,'2015-05-17');
最后几行:
| 41200 | 80620 | 121820 | 2015-05-11 00:00:00 |
| 35440 | 86100 | 121540 | 2015-05-12 00:00:00 |
| 30160 | 62600 | 92760 | 2015-05-13 00:00:00 |
| 19800 | 31780 | 51580 | 2015-05-16 00:00:00 |
| 58480 | 90860 | 149340 | 2015-05-15 00:00:00 |
| 59440 | 52500 | 111940 | 2015-05-14 00:00:00 |
答案 0 :(得分:1)
RDBMS表表示无序集。没有“表的第一行”或“表的最后一行”这样的东西。当您发出不带select
子句的order by
语句时,数据库可能会以其认为合适的顺序返回行(“fit”,通常表示“最快”)。即使表中的数据没有改变,这些结果的顺序也可能根据内部缓存的状态或执行的维护操作(例如,重建索引)而改变。
虽然数据库按插入顺序返回行是很常见的(特别是对于没有任何索引的小表),但这绝对不是强制性的,你应该不依赖于它行为。
如果要对返回的行的顺序有任何保证,则必须使用order by
子句明确说明所需的顺序,例如:
SELECT *
FROM `table`
ORDER BY revenueSB40