ALTER TABLE to add a composite primary key

David542 picture David542 · Jan 14, 2012 · Viewed 341.1k times · Source

I have a table called provider. I have three columns called person, place, thing. There can be duplicate persons, duplicate places, and duplicate things, but there can never be a dupicate person-place-thing combination.

How would I ALTER TABLE to add a composite primary key for this table in MySQL with the these three columns?

Answer

Adrian Cornish picture Adrian Cornish · Jan 14, 2012
ALTER TABLE provider ADD PRIMARY KEY(person,place,thing);

If a primary key already exists then you want to do this

ALTER TABLE provider DROP PRIMARY KEY, ADD PRIMARY KEY(person, place, thing);