如何避免在mysql表中重复插入数据,例如在Id 003 中
STUDENT ID SUBJECT
003 MATHS
003 MATHS
004 ENGLISH
003 MATHS
004 SCIENCE
数据库可以使用唯一的索引或约束(功能等效)为您验证数据:
create unique index idx_t_student_subject on t(student, subject);
您也可以在创建表时将其定义为约束:
create table t (
. . .
constraint unq_t_student_subject unique (student, subject)
. . .
);
当你试图插入一个重复的行时,你会得到一个错误。
注意:主键具有相同的效果,并且将每列定义为NOT NULL
。