CREATE TABLE `student` (
`id` int(2) NOT NULL,
`name` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '',
`class` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '',
`mark` int(3) NOT NULL DEFAULT '0',
`gender` varchar(6) CHARACTER SET utf8 NOT NULL DEFAULT 'male',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Adding Primary Key to an existing table for single column.
ALTER TABLE `student` ADD PRIMARY KEY ( `id` ) ;
Using two columns
ALTER TABLE `student` ADD PRIMARY KEY ( `id` , `name` ) ;
ALTER TABLE student DROP PRIMARY KEY
Detail | Primary Key | Unique Key |
---|---|---|
Null value | Not allowed | Allowed |
Number of Constrints | One only | One or more |
Index | Clustered Idex | Non-Clustered Index |
SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'student'
Using SHOW
SHOW CREATE TABLE student
INSERT INTO `my_tutorial`.`student`
(`id` ,`name` ,`class` ,`mark` ,`gender`)
VALUES ('10', 'test name', 'Four', '55', 'male'),
('36', 'test name 2', 'Four', '57', 'male')
We can use IGNORE to ask MySQL to ignore the error for the line id=10 and continue adding the next line. Here one record with id=36 will be added.
INSERT IGNORE INTO `my_tutorial`.`student`
(`id` ,`name` ,`class` ,`mark` ,`gender`)
VALUES ('10', 'test name', 'Four', '55', 'male'),
('36', 'test name 2', 'Four', '57', 'male')
The error we got depends on setting of STRICT mode.
Author
🎥 Join me live on YouTubePassionate about coding and teaching, I publish practical tutorials on PHP, Python, JavaScript, SQL, and web development. My goal is to make learning simple, engaging, and project‑oriented with real examples and source code.