mysql - SELECT * 字段顺序

标签 mysql sorting field

MySQL是否保证像这样的查询

SELECT * from mytable

将按照与

完全相同的顺序输出其字段
DESCRIBE mytable

是吗?

我们有一个规则,即所有表的第一列始终是 PRIMARY KEY,虽然依赖 select * 中的列顺序可能并不总是一个好主意,但它会是确保提供的第一个字段是 PK 非常有帮助。

这是一个特定于 MySQL 的问题,因此不是下面给出的链接的副本。

最佳答案

答案是否定的,mysql 不保证 select * 中的列的顺序与 describe tablename 输出中的顺序相同。在这两种情况下,Mysql 文档都没有指定列的顺序。但是,这两个语句都可能按顺序位置列出列,因此实际上输出应该匹配。

但即使两种情况下字段的顺序相同,也不意味着 pk 字段列在最前面。您可以在任何列上定义 pk,而不仅仅是最左边的列。

关于mysql - SELECT * 字段顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41325613/

相关文章:

php - session 未将 POSTed 数据传递给第二个脚本 - 请告知

mysql - MySQL 中何时使用单引号、双引号和反引号

c - 尝试对结构进行排序但出现错误或崩溃

java - 为什么两种情况下的输出不同?

python - 1049, "Unknown database ' 数据库' "django mysql can' t 连接

javascript - 使用 JavaScript 对网页上存储桶中的 DOM 元素进行排序的最佳方法

c++ - 如何对动态分配的对象数组中的空对象进行排序,以便空对象位于数组的后面 C++

php - 如何从单个字段中查找超时和超时并将其值提取到 SQL 中的另一个表

field - Odoo 8 - "store=True"的计算字段无法存储在数据库中

c++ - QT5中的TableView不显示MYSQL数据,只显示空行