MySql唯一性约束设置以及实际应用

假设我们有一个用户表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 并处理

在实际应用中,唯一性约束可以用于确保用户名、邮箱等字段的唯一性,从而保证数据的一致性。
当插入或更新数据时,系统会自动检查唯一性约束,如果存在冲突则会拒绝操作。

------------------ 华丽分割线 ------------------

欢迎大家阅读我的创业笔记,如果你觉得这篇写得不错的话,可以关注我的公众号: 成长创业笔记 ;每周不见不散。

我是一名独立开发者。欢迎大家跟我交流软件开发、软件运营的一切事情,包括网站建设,小程序开发,app开发。

微信号:zstxinghui

更欢迎大家使用我的APP

1、松鼠天气,简洁的天气预报,节日日历工具。

2、陪诊小程序,家政小程序等行业小程序。

程序员小张
世界上只有一种真正的英雄主义,就是认清了生活的真相后还依然热爱生活。
随机文章
开发者周记5:今天小木CMS终于上线网站手机版本
2024-06-16 17:13:05
uniapp使用vue3实现tab切换效果
2024-07-27 14:36:05
开发者周记12:小程序管理后台新版本
2024-08-23 18:19:28
解决创建VUE项目的时候执行npm install一直是loading状态
2024-08-29 16:24:10
tp6安装使用easywechat微信接口
2024-12-02 10:02:51