插入数据库顺序的问题
insert into USER ("1")
insert into USER ("2")
insert into USER ("3")
insert into USER ("4")
insert into USER ("TOTAL")
在这个LIST中, 最后一个插入的是"TOTAL"行,
select * from USER
但却不是出现在数据库列表中的最后一行, 请分析一下原因,
怎么使最后插入的出在最后?
------解决方案-------------------- 要想排序就加order,否则你1234的顺序也不一定对的,他不是按照插入时间排序的
------解决方案-------------------- 没索引,就随机。你查询时排拍序就行了。不方便排序的话就加个序列号字段。
------解决方案-------------------- SQL code
加一个唯一字段,查询的时候按这个字段排序。
------解决方案-------------------- 1.在Oracle中注意使用半角字符,而不是全角; 2.select * from user order by Field_1; 引用楼主 eimhee 的帖子: insert into USER ("1") insert into USER ("2") insert into USER ("3") insert into USER ("4") insert into USER ("TOTAL") 在这个LIST中, 最后一个插入的是"TOTAL"行, select * from USER 但却不是出现在数据库列表中的最后一行, 请分析一下原因, 怎么使最后插入的出在最后?
------解决方案-------------------- 是用sql直接insert的吗? 如果是通过开发语言如java把这几条语句一并发送给DB的话,是有可能不按顺序排列的.
------解决方案-------------------- 最后也应该: commit;
------解决方案-------------------- 一般都需要用个序列字段来标识插入的记录顺序, 建议建个sequences,方便. 另外,如果楼主有兴趣,你可以研究一下 select * from USER t order by t.rowid desc; 对于数据量不大且空间富足的数据库来讲有一定意义, 因为记录在存储时有一定顺序.注意,这个方法不可靠, 提出来仅供楼主参考.
------解决方案-------------------- 关系数据库的原理就是数据行之间是无序的。