# Multi-column primary key in joining tables

**URL:** <https://www.ruby-forum.com/t/multi-column-primary-key-in-joining-tables/71478>\
**Category:** Rails\
**Created:** [October 9, 2006, 10:23am UTC](https://www.ruby-forum.com/t/multi-column-primary-key-in-joining-tables/71478 "2006-10-09T10:23:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [October 9, 2006, 10:23am UTC](https://www.ruby-forum.com/t/multi-column-primary-key-in-joining-tables/71478/1 "2006-10-09T10:23:19Z")

</div>

Folks,

What is the convention for primary key fields in joining tables in RoR?

I have a model representing a joining table, and I can’t seem to  
prevent ActiveRecord’s find method from looking for an id column. I  
don’t have an auto-incremented field in my table (happy to add one if  
that is the convention), and therefore my primary key is the  
combination of the 2 foreign keys.

Thanks,  
Chris

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [October 9, 2006, 10:31am UTC](https://www.ruby-forum.com/t/multi-column-primary-key-in-joining-tables/71478/2 "2006-10-09T10:31:20Z")

</div>

Short answer: You can’t have multi-column prikeys.

Rails assumes single column primary keys. By having a multi-column  
prikey, you’re breaking that basic assumption, and you’ll have to do  
all sorts of non-standard magic in order to get it to work. Sorta like  
multi-databases (although much worse).

> From DHH himself:  
> [http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/140320](http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/140320)

---

<div class="post-metadata">

**Author:** ![bigdaddy71](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bbe5ce/32.png) [@bigdaddy71](https://www.ruby-forum.com/u/bigdaddy71)\
**Post date:** [October 9, 2006, 11:05am UTC](https://www.ruby-forum.com/t/multi-column-primary-key-in-joining-tables/71478/3 "2006-10-09T11:05:08Z")

</div>

eden li wrote:

> Short answer: You can’t have multi-column prikeys.

If it’s good enough for DHH, it’s good enough for me. 🙂

Thanks!  
Chris
