mysql - 插入时停止MySql自动排序

标签 mysql sorting insert

MySQL 中“insert”语句的默认语法是:

INSERT INTO table_name VALUES (value1, value2, value3,...);

据我所知,此命令会在表中最后一行之后插入一个新行。但我不知道为什么它会自动排序并根据顺序插入新行。

我使用的命令是:

INSERT INTO survey_questions VALUES ("Q6fiMg","Testing1","textbox","","true");

我的表格结构:- enter image description here

执行查询和输出:- enter image description here

它不是最后插入新行。它插入到 id(Q4kB3i) 的行之后。我的 Question_id 列只是一个主键。我不会对该列应用任何类型的排序。有人可以解释一下为什么会发生这种情况以及如何阻止它吗?

最佳答案

您没有为选择指定排序顺序,因此检索记录的顺序不确定。

如果您不指定排序顺序 (ORDER BY ColName [ASC/DESC]),则无法保证返回记录的顺序。

影响这一点的因素有很多(数据库引擎、版本号、索引、数据分页、检索算法等)

简而言之,如果您希望按指定顺序检索数据,请指定 ORDER BY clause

关于mysql - 插入时停止MySql自动排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20852633/

相关文章:

mysql - Bash 脚本评估字符串问题

perl - 我可以在Perl中将参数传递给sort的compare子例程吗?

java - 我该如何冒泡排序?

algorithm - 从数组中提取前 N 个唯一整数

mysql插入值,从另一个表中选择数据

sql - PostgreSQL 触发器在使用外键插入表 A 后插入表 B

mysql - Laravel 急切加载与显式连接

mysql - 在存储过程中显示具有不同列的 2 个不同的选择查询

mysql - JPA(Hibernate、Mysql)在使用 setmaxresults 时获取计数

MySQL,插入语句,其值作为选择语句