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