当前位置: 首页 > news >正文

利用网站空间做代理深圳网站制作880

利用网站空间做代理,深圳网站制作880,推广网站的作用,销售网络设计案例业务场景 在实际工作当中#xff0c;遇到一个场景#xff0c;就是在用户注册时#xff0c;名字要全局唯一#xff0c;当然#xff0c;我们是可以对用户进行删除的#xff0c;你会怎么去做#xff1f; 分析 一般来说#xff0c;我们可以在用户注册请求时#xff0c…业务场景 在实际工作当中遇到一个场景就是在用户注册时名字要全局唯一当然我们是可以对用户进行删除的你会怎么去做 分析  一般来说我们可以在用户注册请求时进行查库校验看看名字是否已经存在如果存在就抛异常给提示否则就落库。 除此之外还可以直接给数据库字段加唯一索引 UNIQUE KEY name_index (name) USING BTREE当前这种需要根据实际情况分析 如果我们删除用户是物理删除就是直接delete没问题如果我们删除用户是逻辑删除相对于update数据的删除标识为1这时候你怎么建唯一索引 针对第二种情况可能很多人会说把删除标识字段也加到索引里面类似 NIQUE KEY name_index (name,is_deleted) USING BTREE这里会有问题当我们进行相同用户第二次删除之后把id3的数据删除逻辑修改is_deleted1此时就会报错如下图 ------------------------ | id | name | is_deleted | ------------------------ | 1 | forlan0 | 0 | | 2 | forlan1 | 1 | | 3 | forlan1 | 0 | ------------------------那么针对逻辑删除这种情况怎么处理 解决 1、删除时修改is_deleted主键 UPDATE forlan SET is_deleted id WHERE id 3; --修改后的数据如下 ------------------------- | id | name | is_deleted | ------------------------- | 1 | forlan0 | 0 | | 2 | forlan1 | 2 | | 3 | forlan1 | 3 | -------------------------2、删除时修改is_deletednull 这种做法不是会有两条相同的数据下面的情况允许存在 UPDATE forlan SET is_deleted NULL WHERE id 3; --修改后的数据如下 ------------------------- | id | name | is_deleted | ------------------------- | 1 | forlan0 | 0 | | 2 | forlan1 | NULL | | 3 | forlan1 | NULL | -------------------------Mysql官方文档的解释 A UNIQUE index creates a constraint such that all values in the index must be distinct. An error occurs if you try to add a new row with a key value that matches an existing row. This constraint does not apply to NULL values except for the BDB storage engine. For other engines, a UNIQUE index allows multiple NULL values for columns that can contain NULL. 其实大概意思就是除BDB存储引擎外此约束不适用于NULL值。对于其他引擎UNIQUE索引允许包含NULL的列有多个NULL值 为什么允许这么搞 我的理解是NULL其实就表示未知未知的东西无法进行判断如果NULL对唯一索引起作用那么就会导致只能有1行数据为空我们的业务场景可能需要用NULL去表示未知或不确定的值。 当前还是不太建议使用NULL可能存在一些其它问题比如 数据丢失 阿里巴巴规范里面也说了count(*) 会统计值为 NULL 的行而 count(列名) 不会统计此列为 NULL 值的行 WHERE条件!不会查到NULL的值程序空指针报错比如我们使用SUM(cloumn)如果字段都为NULL最终返回NULL增加查询难度 查询时语法需要使用IS NULL 、IS NOT NULL、IFNULL(cloumn) 而传统的 、!等就不能使用了 3、新建一个字段delete_id删除时修改delete_id主键 正常来说其实1,2种方案已经满足为什么我们要使用这种 假设我们的表已经上线使用了一段时间这时我们需要建唯一索引就可以采取方案实际上就是在删除的时候多更新一个字段 UPDATE forlan SET is_deleted 1,delete_id id WHERE id 3;总结 有3种数据库层面的解决方案 删除时修改is_deleted主键删除时修改is_deletednull新建一个字段delete_id删除时修改delete_id主键 至于怎么选择看业务场景 如果是已经投入使用的业务可以采取方案3否则可以采取方案1。
http://www.tj-hxxt.cn/news/229569.html

相关文章:

  • 建立企业网站收费标准seo整站网站推广优化排名
  • 网站内容过滤做一个游戏小程序需要多少钱
  • 卓进网站中国能源建设集团有限公司是央企
  • 岳阳公司网站建设怎么做一个静态网页
  • 有没有什么推荐的网站哈尔滨 网站建设仟路
  • 网站静态图怎么做私人设计网站推荐
  • 海淀区城市建设档案馆网站网站开发公司杭州网站建设
  • 如何做某网站的移动客户端开发网站开发年终总结
  • 经典营销案例沈阳网站建设seo优化
  • 做购物网站步骤找学校的网站
  • 四川省建设厅电子政务网站用dw软件做网站栅格系统
  • 网站域名管理申请企业邮箱步骤是什么
  • 网站对公司的重要性做网站定金交多少合适
  • 乐清公司网站建设东莞网络营销
  • 旅游建设网站目的及功能定位家装公司图片
  • 湖北住房和城乡建设厅网站枞阳美好乡村建设办公窒网站
  • 建筑业企业资质标准建设部网站wordpress左侧插件
  • 如何低成本做网站推广郑州优化网站
  • 设计类网站建设规划书设计商城网站建设
  • 社区网站建设方案pptenfold wordpress主题
  • 东莞专业设计网站网站建设方案推广
  • linux建设门户网站技术先进的网站设计制作
  • 废品回收网站怎么做网站优化wordpress主题文件夹在
  • 提高自己网站做网站对公司的作用
  • 论文网站开发o2o手机维修网站那个公司做的
  • 学做网站的视频教学乐清网论坛
  • 建设部网站资质公示商务网站开发报告
  • 2020电商网站排行榜wordpress微缩图
  • 定制企业网站有哪些网站建设需要多大的空间
  • wordpress高亮插件优化算法分类