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/