使用 * 时列顺序是否可预测?

cam*_*mil 5 postgresql

如果我跑

SELECT *
FROM my_table;
Run Code Online (Sandbox Code Playgroud)

列顺序是可预测的吗?

决定这个顺序的 postgres 的底层设计方面是什么?

end*_*o64 -1

您可以使用DESCRIBE TABLEfirst 来获取表的列顺序。

啊,你标记为PostgreSQL,DESCRIBE TABLE是针对 MySQL 的。所以你应该做一些事情:

SELECT
 COLUMN_NAME
FROM
 information_schema.COLUMNS
WHERE
 TABLE_NAME = 'my_table';
Run Code Online (Sandbox Code Playgroud)

这是解释:http://www.postgresqltutorial.com/postgresql-describe-table/