首页 新闻 搜索 专区 学院

mysql的联合唯一索引

0
悬赏园豆:20 [已解决问题] 解决于 2022-05-27 10:18

百度出来的创建唯一联合索引是这样的:

Alter ignore table 表名 add UNIQUE index 索引名 (字段1,字段2)

该表还有一个字段是删除标志,想只判断删除字段处于0,未删除下,字段1和字段2是唯一的,数据库有办法约束吗?我害怕代码判断逻辑没写好,用这个兜个底。

 

15年的夏天的主页 15年的夏天 | 初学一级 | 园豆:115
提问于:2022-05-26 10:42
< >
分享
最佳答案
0

不可以,mysql做不到.
我很早以前就有过这个需求,数据库做不了.
你这不是唯一索引能实现的,
只能写代码.而且代码还不好写,最后是用margin命令做的这个需求,

收获园豆:12
吴瑞祥 | 高人七级 |园豆:29369 | 2022-05-26 11:55
其他回答(2)
0

看你的描述

  1. 字段标识删除 就是逻辑删除,数据库是不会管你的逻辑(没看懂联合唯一约束强调这个干啥)
  2. 两个字段做联合唯一约束是可以做的;它能保证插入时,2个字段联合的唯一性(MySQL 我用过这个场景)
收获园豆:3
〆灬丶 | 园豆:1461 (小虾三级) | 2022-05-26 10:53
0

我感觉数据库干不了这事,除非把删除了的数据移到另一个表,这样就用不着删除标记了

收获园豆:5
会长 | 园豆:11624 (专家六级) | 2022-05-26 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册