Multi-Column Primary Key in MySQL 5

Quoted from the CREATE TABLE Syntax page:

A PRIMARY KEY can be a multiple-column
index. However, you cannot create a
multiple-column index using the
PRIMARY KEY key attribute in a column
specification. Doing so only marks
that single column as primary. You
must use a separate PRIMARY
KEY(index_col_name, …) clause.

Something like this can be used for multi-column primary keys:

CREATE TABLE
    product (
        category INT NOT NULL,
        id INT NOT NULL,
        price DECIMAL,
        PRIMARY KEY(category, id)
    );

From 13.1.20.6 FOREIGN KEY Constraints

Leave a Comment