View Full Version : MySQL: index vs. primary vs. unique?
ppc_michael
Jul 27, 2007, 06:29 PM
What is the difference between "index," "primary," and "unique," etc, that you can set a field to? I just want to have an auto-incrementing "id" field so that I can have a unique ID number for each entry. I usually use "unique" for that, but is that semantically correct?
nightelf
Jul 27, 2007, 10:14 PM
Primary.
ppc_michael
Jul 27, 2007, 11:11 PM
Primary.
What are the differences though, between the options? Why primary?
tutubibi
Jul 28, 2007, 12:40 AM
Not really a formal definition, but here it is:
Primary Key - Key to the specific record, tells you what uniquely identifies that record
Index - one of more fields indexed to improve access time
Unique Index - type of index, means that a field or group of field is unique, so no other record can have the same one
Note that "primary" is called PRIMARY KEY not INDEX.
KEY is something on the logical level, describes your table and database design (i.e. enforces referential integrity ...)
INDEX is something on the physical level, helps improve access time for table operations.
Behind every PK there is (usually) unique index created (automatically).
zimv20
Jul 28, 2007, 12:47 AM
Why primary?
that's the (unique) value you can use in rows in other tables to reference rows in the table where the primary column is defined.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.