Mysql插入查询以不同的顺序存储数据

时间:2016-02-09 14:34:53

标签: mysql

我正在动态编写插入查询并执行。我的插入查询是:

INSERT INTO b_records (b_record_id) VALUES ('ac_dashboard_filters');
INSERT INTO b_records (b_record_id) VALUES ('ac_exec_data');
INSERT INTO b_records (b_record_id) VALUES ('ac_filter');
INSERT INTO b_records (b_record_id) VALUES ('ac_permission');
INSERT INTO b_records (b_record_id) VALUES ('ac_preview_data');
INSERT INTO b_records (b_record_id) VALUES ('account');
INSERT INTO b_records (b_record_id) VALUES ('acct2channel_account');

但是,当我从表b_records中选择记录时,记录就是这样:

| b_record_id                       |
+--------------------------------------+
| account                              |
| acct2channel_account                 |
| ac_dashboard_filters                 |
| ac_exec_data                         |
| ac_filter                            |
| ac_permission                        |
| ac_preview_data                      |

为什么,我没有按插入查询的顺序获取数据。任何人都可以建议我。

2 个答案:

答案 0 :(得分:0)

  

为什么,我没有按照与插入查询相同的顺序获取数据

原因是默认情况下没有使用哪些数据存储的固有顺序,因此您在获取数据时会使用order by子句根据需要对数据进行排序(默认为{{ 1}})喜欢

ascending

答案 1 :(得分:0)

如果您未在查询中使用 order by 子句,则MySQL不保证数据的顺序。 可能按照您在某些情况下插入它们的顺序返回结果,但依赖于此非常糟糕,因为它可以在表优化或在不同服务器中导入时更改

我建议你添加" id"字段作为具有自动增量的主键(如果您还没有)并将其用于订购。