PRIMARY KEY Constraints
A PRIMARY KEY constraint declares one or more columns whose values uniquely identify each record in the table. It is considered a special case of the UNIQUE constraint. Here are some rules about primary keys:
Only one primary key may exist on a table at a time.
Columns in the primary key cannot have datatypes of BLOB, CLOB, NCLOB, or ARRAY.
Primary keys may be defined at the column level for a single column key or at the table level if multiple columns make up the primary key.
Values in the primary key column(s) must be unique and not NULL.
In a multicolumn primary key, called a concatenated key, the combination of values in all of the key columns must be unique and not NULL.
Foreign keys can be declared that reference the primary key of a table to establish direct relationships between tables (or possibly, though rarely, within a single table).
The following ANSI standard code includes the options for creating both a table- and column-level primary key constraint on a table called distributors. The first example shows a column-level primary-key constraint, while the second shows a table-level constraint:
-- Creating a column-level constraint
CREATE TABLE distributors
(dist_id CHAR(4) NOT NULL PRIMARY KEY
, dist_name VARCHAR(40), dist_address1 VARCHAR(40), dist_address2 VARCHAR(40), city VARCHAR(20), state CHAR(2) , zip CHAR(5) , phone CHAR(12) , sales_rep INT ); -- Creating a table-level constraint CREATE TABLE distributors (dist_id CHAR(4) NOT NULL, dist_name VARCHAR(40), ...
Get SQL in a Nutshell, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.