我已经读过在主键上使用命名约定id是不好的做法。是这种情况。有些人在网上提到它可能会在创建连接时导致错误。其他人说只要你是一致的或者是好的 - 所以我可以使用id来表示属性或property_id的id,只要我是一致的。
想知道你的想法/选择人 1)只要全面一致,就可以使用property_id或id确定主键。 2)应该使用property_id到主键,以避免在连接上出错 3)最好使用id-可以看到哪一方是连接上的主键,前缀id是不成功的
答案 0 :(得分:1)
我认为id
没问题。反对它的唯一合理论据是在这样的情况下:
select * from foo, bar where id = 'blah' # id is ambiguous
通常,当您从多个表中进行选择时,您应该对每个列进行限定:
select * from foo, bar where foo.id = 'blah' # no ambiguity
此外,我认为这比使用model_id
作为主键更好,因为习惯上将该语法用于外键。