PostgreSQL 或 MySQL 中的默认选择顺序是什么?

2023-12-03

我在 PostgreSQL 文档中读到,如果没有 ORDER 语句,SELECT 将以未指定的顺序返回记录。

最近在一次采访中,有人问我如何按照插入的顺序 SELECT 记录,而无需 PK 或created_at 或其他可用于排序的字段。采访我的高级开发人员坚持认为,如果没有 ORDER 语句,记录将按照插入的顺序返回。

对于 PostgreSQL 来说是这样吗? MySQL 也是如此吗?或者任何其他关系型数据库管理系统?


我可以回答MySQL。我不知道 PostgreSQL 的情况。

通常,默认顺序不是插入顺序。

对于 InnoDB,默认顺序取决于查询读取索引的顺序。您可以从 EXPLAIN 计划中获取此信息。

对于 MyISAM,它按照从表中读取的顺序返回订单。这might是插入的顺序,但 MyISAM 会在删除记录后重用间隙,因此较新的行可能会更早存储。

这些都没有得到保证;这只是当前实施的副作用。 MySQL 可以在下一版本中更改实现,使结果集的默认顺序不同,而不会违反任何记录的行为。

因此,如果您需要按特定顺序排列结果,您应该使用ORDER BY根据您的询问。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL 或 MySQL 中的默认选择顺序是什么? 的相关文章

  • 如何将docker postgres镜像10.3中的pg_restore升级到10.5

    我使用 tableplus 作为我的一般管理员 目前使用 10 3 版本的 docker postgres 镜像进行生产和本地主机开发 因为tableplus将他们的postgres 10驱动程序升级到了10 5 所以我不能再使用pg re
  • 在 MySQL 中对整数字段运行带引号的数字(字符串)查询时会发生哪些复杂情况

    在 SQL 中 不应引用整数 因为如果引用 它将是一个字符串 但我很好奇如果我这样做会出现什么问题 并发症 例如 SELECT FROM table WHERE id 1 正确的 vs SELECT FROM table WHERE id
  • db:schema:load 与 db:migrate 使用 capistrano

    我有一个 Rails 应用程序 我正在将其移动到另一台服务器 我认为我应该使用 db schema load 来创建 mysql 数据库 因为这是推荐的 我的问题是我正在使用 capistrano 进行部署 并且它似乎默认为 rake db
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • PHP MYSQL文件内容转义问题

    我正在尝试使用 php 将 pdf 文件上传到 mysql 数据库中 除了文件内容之外 一切都很好 无论我如何尝试转义特殊字符 查询总是失败 主要是 未知命令 n 我使用过addslashes mysql real escape strin
  • 由于键更改而尝试插入时外键约束失败

    我有一个 Content 对象 它引用多对多关系中的一组 Tag 对象 作为持久化新内容对象的一部分 我在 PostgreSQL 中查看标签是否已存在 如果存在 则将对其的引用添加到内容对象并尝试保存内容对象 我遇到的问题是 当我这样做时
  • Mac OSX Lion Postgres 不接受 /tmp/.s.PGSQL.5432 上的连接

    我在 Homebrew 安装 Postgres 时遇到常见的 Mac OSX 错误 No such file or directory Is the server running locally and accepting connecti
  • 错误代码:1305。函数或过程不存在

    因此 我在 MySQL 中创建一个函数 然后尝试向用户授予使用该函数的权限 但我无法这样做 这就是我正在做的 DELIMITER USE rxhelp36 scbn DROP FUNCTION IF EXISTS businessDayDi
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 如何从批量数据中的mysql列中删除所有非数字字符

    我想从列中删除所有非数字字符 我的数据库中有大量数据 目前我正在使用以下链接中描述的方法 http venerableagents wordpress com 2011 01 29 mysql numeric functions http
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 从postgresql中的jsonb嵌套数组中删除键值对

    我有 jsonb 数据作为 a b 1 c 2 d 3 b 4 c 5 d 6 g b 1 c 2 d 3 b 4 c 5 d 6 我想从 a 和 g 键的嵌套数组中删除 c 键 是否有一个查询可以执行此操作 SELECT jsonb ob
  • SQL查询查找表的主键?

    我怎样才能找到哪一列首要的关键使用查询来创建表 这是重复的question https stackoverflow com questions 893874 mysql determine tables primary key dynami
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • 转义 to_tsquery 中的特殊字符

    如何转义传递给的字符串中的特殊字符to tsquery 例如 这种查询 select to tsquery AT T 生产 NOTICE text search query contains only stop words or doesn
  • MySQL 转储未知选项“-no-beep”

    在旧服务器上我使用了mysql转储命令来备份 MySQL 数据库 在新服务器上 MySQL 版本为 5 6 相同的命令给出了错误 unknown option no beep 无论它插入什么 我也在互联网上搜索过 但找不到任何帮助 在 my

随机推荐

  • java Android - 以编程方式处理图像缩放/裁剪

    好吧 所有这些事情折磨了我好几个星期 我将图像设置为 227 像素高 然后将其缩放到 170 像素 即使我每次都希望它是wrapp content 好的 在这里 我拍摄了 1950 像素长的 我的图像 我将其中的一部分放在这里 以便您可以了
  • Symfony CollectionType 更新实体

    我不敢相信其他人没有遇到这种情况 但我无法找到解决方案 假设我有两个实体类型 A 和 B 具有一对多关系 A 有 B 的集合 A 的形式有一个CollectionType对于B 有一个定制的entry type for B allow ad
  • 在高性能环境中的分叉工作进程之间共享状态

    这是我的后续行动上一个问题 正如 Tim Peters 所建议的 使用Manager可能不一定是最好的方法 不幸的是我有太多的脚手架代码来发布SSCCE 相反 我将尝试提供我的问题的详细解释 请随意浏览整个代码库Github 但现在有点混乱
  • 如何使用vba for excel获取另一个工作簿中定义名称的值

    我有几本包含计算的工作簿 我正在将所有这些工作表中的数据结合起来进行 自动概述 为了查找数据 我使用命名范围 这些工作正常 然而 有一个定义的名称不涉及范围 这是一个公式 我想要的是访问该公式的结果 以open计算书 来自我的概述书 明显地
  • RxJava:“java.lang.IllegalStateException:仅允许一名订阅者!”

    我正在使用 RxJava 来计算 Android 中某些传感器数据的归一化自相关性 奇怪的是 我的代码抛出一个异常 java lang IllegalStateException 只允许一个订阅者 我不确定该怎么做 我知道 GroupedO
  • 将图像从 URL 保存到服务器

    我建立了一个迷你内容管理系统CKEditor 用户可以粘贴图像URL来自另一个网站 有没有办法在用户提交内容时获取所有图像 URL 将所有这些图像保存到服务器 并用我的服务器的 URL 替换其他服务器的 URL 例如 用户写了这样的内容 i
  • Kivy - 通过 id 删除小部件

    我有以下代码 from kivy app import App from kivy uix floatlayout import FloatLayout class GUI FloatLayout def remove self self
  • 导入错误:没有名为plotly.plotly的模块

    我正在处理项目并收到此错误 导入错误 没有名为plotly plotly的模块 I tried pip 情节安装 pip install plotly 升级 But import plotly plotly as py没用 不知道pyzo
  • 一次将 100 个文本文件导入 Excel

    我有这个宏可以在 Excel 电子表格中批量导入同一文件夹中包含的 100 多个 txt 文件 Sub QueryImportText Dim sPath As String sName As String Dim i As Long qt
  • FileUpload1.HasFile 为 False

    我尝试在网上搜索这个问题 发现大家都在询问UpdatePanel内的FileUpload控件的问题 首先 我没有使用 UpdatePanel 下面是我的代码 HTML
  • ImportError:运行从 pyinstaller 获取的可执行文件时没有名为 Geometry 的模块

    Traceback most recent call last File
  • odoo 中的 Many2one 字段的域过滤器?

    下面的代码是资产继承类 这里我要补充一下 place 场与 卡恩 邦 肯杰里 and 卡恩 邦 马勒什瓦拉姆 对于 Karn Bang Kengeri 将添加带有 A 和 B 的 asset catg id 然后对于 karn bang m
  • MySQL GROUP 和 COUNT 多个表

    我有一个由 3 部分组成的问题 这给我带来了麻烦 如果我查询 1 个表 我知道如何让表正常工作 一次但我似乎不知道如何将两者结合起来tags and more tags表以获得相同的结果 下面列出了我遇到的 3 个主要问题 问题1 我希望能
  • 如果React.js是MVC中的V,那么其他字母是什么?

    我正在学习 React 但我仍然不确定如何将其发展为成熟的应用程序 对于 M 和 C 哪些框架很适合使用 如果我想发挥功能怎么办 我应该只使用 jQuery 吗 路由 Ajax 以及许多框架为我们提供的其他功能怎么样 你实际上可以简单地去F
  • 为什么我不能在另一个函数中定义一个函数?

    这不是 lambda 函数问题 我知道我可以将 lambda 分配给变量 允许我们在代码中声明但不定义函数有什么意义 例如 include
  • Rails db:迁移关系不存在

    我有这样的模型 学生 class Student lt ActiveRecord Base has many participations dependent destroy has many subject item notes depe
  • setbuf() 会影响 cout 吗?

    我的老师再次无法回答我的问题 我知道谁能够 所以 我从来没有真正学过 C 在 C 中 显然我一直都会使用 cout 语句 在最近的一次作业中 我的老师告诉我们要确保 setbuf stdout NULL 在 main 的顶部以获得无缓冲的输
  • 如何获取属性文件的路径并在运行时将其传递给 bean

    我有一个由 Spring 创建的 bean 实际的类驻留在与 Spring 不同的 JAR 中 该 bean 传递一个路径作为构造函数参数 但是 我很难检索文件的句柄 该文件位于 WEB INF classes 中 我尝试过基于 WEB I
  • Unix“查找”命令用法

    这是一个 bash 安装脚本 脚本 foo sh 将 DIRECTORY 作为参数 说 有一个目录 lt HOME gt TEST TEST 1A TEST 2A TEST 3和另一个目录 lt HOME gt TEST TEST 1B T
  • PostgreSQL 或 MySQL 中的默认选择顺序是什么?

    我在 PostgreSQL 文档中读到 如果没有 ORDER 语句 SELECT 将以未指定的顺序返回记录 最近在一次采访中 有人问我如何按照插入的顺序 SELECT 记录 而无需 PK 或created at 或其他可用于排序的字段 采访