我正在动态编写插入查询并执行。我的插入查询是:
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 |
为什么,我没有按插入查询的顺序获取数据。任何人都可以建议我。
答案 0 :(得分:0)
为什么,我没有按照与插入查询相同的顺序获取数据
原因是默认情况下没有使用哪些数据存储的固有顺序,因此您在获取数据时会使用order by
子句根据需要对数据进行排序(默认为{{ 1}})喜欢
ascending
答案 1 :(得分:0)
如果您未在查询中使用 order by 子句,则MySQL不保证数据的顺序。 可能按照您在某些情况下插入它们的顺序返回结果,但依赖于此非常糟糕,因为它可以在表优化或在不同服务器中导入时更改
我建议你添加" id"字段作为具有自动增量的主键(如果您还没有)并将其用于订购。