Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mysql: How do you create a table with multiple primary keys?

I have this situation:

MySQL - Newbie question: Which are the PK and the FK for these tables? (take a look at the table Salaries)

How do you create a table with multiple primary keys?

create table salaries
(
  dep_id smallint auto_increment primary key, 
  emp_id smallint auto_increment primary key, 
  bla varchar(20)
);

I receive an error if I try the code above. Any ideas?

like image 909
cc. Avatar asked Dec 02 '22 06:12

cc.


1 Answers

A table can only have one primary key. However, the primary key can consist of multiple columns, e.g.

CREATE TABLE salaries (
    dep_id SMALLINT UNSIGNED NOT NULL,
    an_id SMALLINT UNSIGNED NOT NULL,
    bla VARCHAR(20),
    PRIMARY KEY (dep_id, an_id)
);
like image 139
Ben James Avatar answered Dec 04 '22 01:12

Ben James