假设我们有一个用户表users,其中包含了username 我们需要将username作为用户登录的用户名。
我们需要确保username的值在表中是唯一的,以避免重复数据的出现。
这个时候我们需要给 username添加唯一性约束。如箭头所示:
表字段username设置唯一性约束之后,如果用户再次输入相同的名称的时候,系统就会拒绝并抛出错误。
同样的,如果我们尝试更新已有数据的username,如果更新后的值与其他数据冲突,系统同样会拒绝。
那我们在代码中怎样去处理系统抛出的错误?
举个栗子:下面是TP项目中的实际例子,同过 try catch 去处理系统抛出来的错误。
try {
$save = $this->model->save($post);
} catch (\Exception $e) {
$this->error('保存失败:'.$e);
}
$save ? $this->success('保存成功') : $this->error('保存失败');
只要系统抛出错误,就会被catch 并处理
在实际应用中,唯一性约束可以用于确保用户名、邮箱等字段的唯一性,从而保证数据的一致性。
当插入或更新数据时,系统会自动检查唯一性约束,如果存在冲突则会拒绝操作。