SELECT *字段顺序

时间:2016-12-26 01:04:50

标签: mysql sorting field

MySQL是否保证像

这样的查询
SELECT * from mytable

将完全按照与

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

呢?

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

这是MySQL特定的问题,因此不会与下面给出的链接重复。

1 个答案:

答案 0 :(得分:3)

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

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