唯一约束:
添加方法:id int unique
alter table customers add constraint uq unique(id)
删除方法:
alter table customers drop index uq
主键作用: primary key = unique + not null
添加方法:primary key(id)
alter table customers add primary key(id)
删除方法:
alter table customers drop primary key
外键作用:
1.参照完整性--如果要删除了父表中一条记录,I必须提前保证子表中没有引用父表该字段值的列,否则无法删除
2.一致性:子表中的外键列必须在父表中存在对应
然而在设置外键的情况下,你插入子表学号字段的值必需要求在父表的学号字段能找到。同一时候,假设你要删除父表的某个学号字段,必须保证子表中没有引用该字段值的列,否则就没法删除。
添加外键:
constraint FK foreign key(name) references customers(id)
或 foreign key(name) references customers(id)
或者用alter table orders add constraint FK foreign key(name) references customers(id)
删除外键:
如果设置了外键名,就用自己设置的外键名进行删除,否则用show create table ..去查看
外键名,然后删除. (无论是自己有没有定义外键名,都用下面方法进行外键删除)
//先删除外键名,再删外键字段(mysql官方提供 )
alter table task drop foreign key FK_Reference_7;
alter table task drop column `assigned`;