46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
---
|
|
title: SQL Primary Key Constraint
|
|
---
|
|
## Primary Key Constraint
|
|
|
|
### Introduction
|
|
A primary key is a column or a set of columns that uniquely identifies each row in a table.
|
|
|
|
It's called a "constraint" because it causes the system to restrict the data allowed in these column(s). In this case....
|
|
* to contain data (NOT NULL)
|
|
* be UNIQUE from all other rows in the table.
|
|
* Each table can have only ONE primary key
|
|
|
|
Primary keys are mostly used to maintain the data integrity of each row.
|
|
|
|
It also allows the system and applications to be sure they are reading, updating and joining the data correctly.
|
|
|
|
### Example with create table
|
|
Here is a create table command that will also create a primary key using two fields.
|
|
```sql
|
|
CREATE TABLE priKeyExample(
|
|
rcdKey_id_a INT NOT NULL,
|
|
rcdKeySeq_id INT NOT NULL,
|
|
someData varchar(256) NOT NULL,
|
|
PRIMARY KEY(rcdKey_id_a,rcdKeySeq_id));
|
|
```
|
|
|
|
### Example with alter table
|
|
The existing one must be deleted first
|
|
```sql
|
|
DROP INDEX `primary` ON priKeyExample;
|
|
```
|
|
|
|
Now we'll add the new one.
|
|
```sql
|
|
ALTER TABLE priKeyExample
|
|
ADD CONSTRAINT myPriKey PRIMARY KEY(rcdKey_id_a,rcdKeySeq_id);
|
|
```
|
|
|
|
As with all of these SQL things there is MUCH MORE to them than what's in this introductory guide.
|
|
|
|
I hope this at least gives you enough to get started.
|
|
|
|
Please see the manual for your database manager and have fun trying different options yourself.
|
|
|