MYSQL为什么一个数组存到数据库里的时候插入的先后顺序变了
我通过腾讯接口拿数据比如一个数据我通过接口拿到时候是[7]=>Array([worker]=>1212121@sdfsdfsdf[openid]=>ddfdfdfdfds...
我通过腾讯接口拿数据比如一个数据我通过接口拿到时候是
[7] => Array
(
[worker] => 1212121@sdfsdfsdf
[openid] => ddfdfdfdfdsfsdfds
[opercode] => 1003
[time] => 1417505903
[text] =>
)
[8] => Array
(
[worker] => 50280
[openid] => ddfdfdfdfdsfsdfds
[opercode] => 1006
[time] => 1417505903
[text] =>
)
循环插入数据库,按照道理是1003先进去的,可为什么入库的时候变成1006在前面先入库了,顺序变了是由于时间戳一样吗???顺序变了对我影响很大,我无法判断一些规则了。请问如何解决?以及为什么会这样啊? 展开
[7] => Array
(
[worker] => 1212121@sdfsdfsdf
[openid] => ddfdfdfdfdsfsdfds
[opercode] => 1003
[time] => 1417505903
[text] =>
)
[8] => Array
(
[worker] => 50280
[openid] => ddfdfdfdfdsfsdfds
[opercode] => 1006
[time] => 1417505903
[text] =>
)
循环插入数据库,按照道理是1003先进去的,可为什么入库的时候变成1006在前面先入库了,顺序变了是由于时间戳一样吗???顺序变了对我影响很大,我无法判断一些规则了。请问如何解决?以及为什么会这样啊? 展开
1个回答
展开全部
你应该给你的数据库增加一个自增类型的字段,这个字段每次插入数据时值自动增加1,用这个字段可以看出数据插入的先后顺序。
数据库里面的记录在存储时的先后次序是我们无法控制的,系统为了提高效率,可能用各种方法存储,甚至把数据的不同部分分配在不同的磁盘位置上。所以,编程者始终要记住我们无法控制存储的位置和次序,我们只有使用必要的数据记录有关重要信息。
查询数据库数据的时候,可以指定现实的先后次序,在SQL语句中使用ORDER BY。
数据库里面的记录在存储时的先后次序是我们无法控制的,系统为了提高效率,可能用各种方法存储,甚至把数据的不同部分分配在不同的磁盘位置上。所以,编程者始终要记住我们无法控制存储的位置和次序,我们只有使用必要的数据记录有关重要信息。
查询数据库数据的时候,可以指定现实的先后次序,在SQL语句中使用ORDER BY。
追问
但是我的数据已经取出来了,只是循环了下,循环总归不会有顺序吧,那么肯定是1003的循环在前,那么执行SQL肯定是先入库的,可是结果是1006先入库的。我已经有自增的ID了,确实是1006先进去的,可循环确实是1003在前的,大神求指教啊。
追答
有了自增的ID过后,在SQL语句末尾写上下面的内容就可以了:
order by id
如果还有问题,请粘贴代码、页面拷屏。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |