2 leek d Leek_D 于 2015.07.23 15:41 提问

求助,mysql的一段表设计

mysql 我有一张表:

表里有AID int,BID int,state bit这三条
AID为外链,链接A表的ID,BID同AID
AID与BID为唯一约束,不能有重复的值
如今我想让:
一个AID最多能有一条 true值的state,这个如何设计?
(PS:为了对应以后的升级,其AID还能对应两个以上的true值state 这个怎么做0_0||)

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.23 16:55

第一种,在应用中判断你的条件
第二种,复制一张一样的表结构,插记录往复制的表中插入,然后在这张复制表中建立触发器,判断你的条件,如何符合往你的真正表中插入这条记录

danielinbiti
danielinbiti 回复Leek_D: 本表触发器阻止不了本表操作
接近 3 年之前 回复
Leek_D
Leek_D 那么能用触发器来阻止某张表插入数据吗?
接近 3 年之前 回复
CSDNXIAOD
CSDNXIAOD   2015.07.23 15:45

mysql表设计2
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Leek_D
Leek_D 我咬你!!我咬你!!
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MYSQL数据库设计之字段选择原则
今天给大家介绍一下数据库设计过程中字段的选择原则,也就是什么时候用int、什么时候用varchar、什么时候用char等等之类的。关于字段的选择其实很多地方都有进行详细的介绍,我这里只写一下我在使用过程中的心得感受。如果想要全面的了解的话,大家可以去看高性能MYSQL这一本书籍,里面有一章节介绍的特别全面,基本涉及MYSQL中全部的字段的介绍。我这里给大家介绍的就一些常用的字段,例如:int、fl...
数据库表及字段命名、设计规范
1.数据库表及字段命名、设计规范1.1数据库表数据库表的命名规范:表的前缀应该用系统或模块的英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。例如:如果有一个模块叫做BBS(缩写为BBS),那么你的数据库中的所有对象的名称都要加上这个前缀:BBS_ + 数据库对象名称,BBS_Custom
MySQL数据库:地区表设计及完整5级地区数据
表结构废话不多说,直接上干货: 设计原理: (PS:如果读者仅仅是想拿完整的表结构和数据,直接跳到末尾去百度云盘下载) 1>首先说数据来源:中华人民共和国国家统计局,数据在不停更新,但是作为一个比较大的层面,需要统计5级地区的数据,数据量异常大,比如我整合提供的地区数据在数据量上就已经达到了74W+,所以就算是国家统计局统计的数据也不能保证是最新的,要想获取第一手的新鲜资料,可以想办
11岁车祸截肢女孩的求助
各位叔叔阿姨: 我叫李皖湘,今年11岁,湖南省郴州市嘉禾县人,我是一名留守儿童。在离家8里路的坦坪中心小学读5年级,学校无校车也没有宿舍,2014年10月13日下午4:30时放学,我和往常一样和本村的同学一起骑自行车回家,由于是山村小路,路上又有很多泥土堆,当我的自行车行至泥土堆处时刚好迎面极速驶來的渣土车也到达此处,自行车被泥土堆绊倒被渣土车从右腿和右胳膊处碾压而过,我当时喊了一声妈妈和我同学
(7-8)hive数据库、表、字段定义
(7-8)hive数据库、表、字段定义 --------------------------------------------------------------1、数据库的定义----------------------------------------------------------- 1.1、创建数据库: hive> show databases; OK default
进程中有多少个段表、多少个页表?
在操作系统中,1.如果存储器管理采用基本分页机制,那么每个进程有几个页表?2.如果采用基本分段机制,每个进程有几个段表?如果采用基本分页和分段相结合的方式,每个进程有几个段表和几个页表?
为数据库表设计可扩展的字段
在平时的系统设计中,要充分考虑扩展和复用,后面维护过程中出现类似的场景的时候,能够有效的复用之前的。在快速响应业务的同时,也确保系统的稳定性。如何设计扩展性强的数据库结构呢,这里从日常工作中学习了一些经验,有自己团队内部实现的,也有其他团队的实践。 1、二进制位     在数据库中设计一个字段,暂且叫“options”,这个字段存储的是数值,可以理解为二进制的组合。例如一个用户既有A标签(标签
段表和页表
一、概述处理器(CPU) 1.1 处理器位数 在intel处理器的X86系列中,包含8086和8088的16位处理器,以及从80386(即i386)开始的32位处理器,而如今又有X86-64架构的64位处理器。 那这些16位,32位和64位又有什么意义了?位数越高,处理器的寻址能力越强,则可以支持越大的物理内存。具体如下表(可见对于64位处理器的寻址范围已经是非常之大
2017年11月最新手机号段表数据库
2017年11月最新手机号段表数据库,360569条记录,全国所有手机号段,号段、地区、手机运营商类型、区号、邮编
【MySQL之设计表(一)】**重要***MySQL数据库表设计中的注意事项
一、设计原则 1.选择优化的数据类型 MySQL支持很多种不同的数据类型,并且选择正确的数据类型对于获得高性能至关重要。不管选择何种类型,下面的简单原则都会有助于做出更好的选择: (1).更小通常更好 一般来说,要试着使用正确地存储和表示数据的最小类型。更小的数据类型通常更快,因为它们使用了更少的磁盘空间、内存和CPU缓存,而且需要的CPU周期也更少。 但是要确保不人