版权声明:. https://blog.csdn.net/WildestDeram/article/details/89322735
主键和唯一索引的操作
添加主键元素
ALTER TABLE tbl_name
ADD PRIMARY KEY (字段名称);
CREATE TABLE user5(
id INT UNSIGNED,
username VARCHAR(20) NOT NULL
);
此时可以看到id的主键是空,接下来就为id添加主键
ALTER TABLE user5
ADD PRIMARY KEY(id);
删除主键元素(无须写字段,因为一个表中只有一个KEY)
ALTER TABLE tbl_name
DROP PRIMARY KEY;
接下来进行删除主键
ALTER TABLE user5
DROP PRIMARY KEY;
有一种特殊的情况需要注意:
CREATE TABLE user6(
id INT UNSIGNED AUTO_INCREMENT KEY,
name VARCHAR(20) NOT NULL
);
ALTER TABLE user6
DROP PRIMARY KEY;
此时会发生报错,原因是id内有AUTO_INCREMENT这个属性,无法直接删除PRIMARY KEY属性。
将id的AUTO_INCREMENT属性删除
ALTER TABLE user6
MODIFY id INT UNSIGNED;
ALTER TABLE user6
DROP PRIMARY KEY;
这样就达到了删除主键的效果。
--------------------------------------------------------------------------
添加唯一和删除唯一
ALTER TABLE tbl_name
ADD UNIQUE KEY|INDEX index_name (字段名称);
ALTER TABLE tbl_name
DROP index_name;
测试添加和删除唯一
CREATE TABLE user7(
id INT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password CHAR(32) NOT NULL,
email VARCHAR(50) NOT NULL UNIQUE
);
删除唯一索引 username和eamil的索引
ALTER TABLE user7
DROP INDEX username;
ALTER TABLE user7
DROP INDEX email;
添加唯一索引(带编号)
ALTER TABLE user7
ADD UNIQUE KEY(username);
ALTER TABLE user7
ADD UNIQUE INDEX un_email(email);
可以通过un_email 来删除UNIQUE