The primary key should be the first field (or fields) in your table design. While most databases allow you to define primary keys on any field in your table, the common convention and what the next developer will expect, is the primary key field(s) coming first. Use a Meaningless Primary Key. The values in a table's primary key should never change over time. Jul 18, 2019 Technically Yes you can do that provided that it’s a composite primary key and it actually makes sense in some cases.
| SQL Syntax for PRIMARY KEY constraint | CREATE TABLE table_name ( column_name1 data_type(size) PRIMARY KEY, column_name2 data_type(size) NOT NULL, column_name3 data_type(size), etc… );OrCREATE TABLE table_name ( column_name1 data_type(size) NOT NULL, column_name2 data_type(size) NOT NULL, column_name3 data_type(size), etc… PRIMARY KEY column_name1; ); |
| SQL Syntax for COMPOSITE KEY constraint | CREATE TABLE table_name ( column_name1 data_type(size) NOT NULL, column_name2 data_type(size) NOT NULL, column_name3 data_type(size), CONSTRAINT Constraint_name PRIMARY KEY (column_name1, column_name2) etc… ); |
| CREATE TABLE student (Student_ID int PRIMARY KEY, Student_name varchar(255) NOT NULL, City varchar(255), Marks int); |
| CREATE TABLE student (Student_ID int NOT NULL, Student_name varchar(255) NOT NULL, City varchar(255), Marks int CONSTRAINT CompKey_ID_NAME PRIMARY KEY (Student_ID, Student_name)); |
Syntax for PRIMARY KEY:
| ALTER table table_name ADD PRIMARY KEY column_name; |
Example for PRIMARY KEY:
| ALTER table Student ALTER PRIMARY KEY Marks; |
Syntax for COMPOSITE KEY:
| ALTER table table_name ADD CONSTRAINT Constraint_name PRIMARY KEY (column_name1, column_name2); |
Example for COMPOSITE KEY:
| ALTER table Student ADD CONSTRAINT CompKey_CityMarks PRIMARY KEY ( City, Marks ); |
Syntax:Generate private key with password.
| ALTER table table_name DROP PRIMARY KEY; |
Example:
| ALTER table Student DROP PRIMARY KEY; |
Syntax:
| ALTER table table_name DROP CONSTRAINT Constraint_name; |
Example:
| ALTER table Student DROP CONSTRAINT CompKey_CityMarks; |