MySQL 中“insert”语句的默认语法是:
INSERT INTO table_name VALUES (value1, value2, value3,...);
据我所知,此命令会在表中最后一行之后插入一个新行。但我不知道为什么它会自动排序并根据顺序插入新行。
我使用的命令是:
INSERT INTO survey_questions VALUES ("Q6fiMg","Testing1","textbox","","true");
我的表格结构:-
执行查询和输出:-
它不是最后插入新行。它插入到 id(Q4kB3i) 的行之后。我的 Question_id 列只是一个主键。我不会对该列应用任何类型的排序。有人可以解释一下为什么会发生这种情况以及如何阻止它吗?
最佳答案
您没有为选择指定排序顺序,因此检索记录的顺序不确定。
如果您不指定排序顺序 (ORDER BY ColName [ASC/DESC]
),则无法保证返回记录的顺序。
影响这一点的因素有很多(数据库引擎、版本号、索引、数据分页、检索算法等)
简而言之,如果您希望按指定顺序检索数据,请指定 ORDER BY clause
关于mysql - 插入时停止MySql自动排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20852633/