4、primary key主键约束
在一张表中:
1) 主键约束是 NOT NULL、UNIQUE唯一的记录。
2) 主键约束必须是唯一的值。
3) 主键约束列不能包含 NULL 值。
注意:每个表都应该有一个主键,并且每个表只能有一个主键。
-- 我们创建一张表 CREATE TABLE `test`.`info2`( `id` INT(11) NOT NULL, `idCard` VARCHAR(18) NOT NULL, `mobile` VARCHAR(11) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_estonian_ci;
添加主键约束、
-- 直接使用 PRIMARY KEY (`id`),就可以为 id 字段添加主键约束 CREATE TABLE `test`.`info2`( `id` INT(11) NOT NULL, `idCard` VARCHAR(18) NOT NULL, `mobile` VARCHAR(11), PRIMARY KEY (`id`) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_estonian_ci; -- 如果已经存在表,可以使用sql语句添加。 ALTER TABLE `info2` ADD PRIMARY KEY (`id`); -- 主键约束可以使用多个字段组成 ALTER TABLE `info2` ADD PRIMARY KEY (`id`,`idCard`); 结果: FIELD TYPE COLLATION NULL KEY DEFAULT Extra PRIVILEGES COMMENT ------ ---------------- ---------------- ------ ------ ------- -------------- ------------------------------- --------- id INT(11) UNSIGNED (NULL) NO PRI (NULL) AUTO_INCREMENT SELECT,INSERT,UPDATE,REFERENCES idCard VARCHAR(18) utf8_estonian_ci NO PRI (NULL) SELECT,INSERT,UPDATE,REFERENCES mobile VARCHAR(11) utf8_estonian_ci YES (NULL) SELECT,INSERT,UPDATE,REFERENCES -- 如果已经存在约束的,可以使用下面的语句进行修改 -- 操作思路为先删除原来的,再添加新的 ALTER TABLE `info2` DROP PRIMARY KEY, ADD PRIMARY KEY (`id`);
移除主键约束:
-- 移除主键的方法较为简单,直接使用 DROP PRIMARY KEY 就可以把全部的主键约束移除 ALTER TABLE `info2` DROP PRIMARY KEY;