1

我读过在主键上使用命名约定 id 是不好的做法。是不是这样。网上有人提到它在创建连接时可能会导致错误。其他人说过,只要您保持一致或可以-所以只要我一致,我就可以使用 id 来表示属性的 id 或 property_id 。

想知道你的想法/选项的人 1)property_id 或 id 可以作为主键,只要全面一致。2)应该使用property_id作为主键以避免在连接时出错 3)最好使用id-可以看到哪一侧是连接的主键,前缀id是不必要的

4

1 回答 1

1

我觉得id还可以。反对它的唯一合法论点是在这样的情况下:

select * from foo, bar where id = 'blah'  # id is ambiguous

通常,当您从多个表中进行选择时,无论如何您都应该限定每一列:

select * from foo, bar where foo.id = 'blah' # no ambiguity

此外,我认为它比使用model_id主键更好,因为习惯上使用该语法作为外键。

于 2012-08-12T13:38:33.020 回答