Postgresql允许您使用一组列而不是一列来定义主键,如下所示:
PRIMARY KEY(a_id, b_id)
但是这个定义中列的顺序是否显着?上面和下面之间是否有任何实际或实际的区别:
PRIMARY KEY(b_id, a_id)
该文档没有直接解决这个问题。这意味着订单不应该很重要,当我查询information_catalog表时,我没有看到任何要注意参数顺序的差异。
但是,使用\d
备用定义在两个表上使用命令以及输出所描述的列顺序确实会发生变化。显然,有些东西pg_catalog
保留了主键定义的顺序,但这是否意味着两个定义之间存在任何功能差异?
谢谢
你做过一个简单的实验来找到答案吗?不难发现自己。
—
朱利安奈特