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.
 | |
| 
 |