【问题标题】:How to limit number of the many in a one-to-many relationships between two tables?如何限制两个表之间的一对多关系中的多的数量?
【发布时间】:2023-03-12 05:10:01
【问题描述】:

我有一个带有两个 MySql 表的 MySQL 数据库。首先是第一个表(表 A)有一个具有唯一值的列(从值(从 1 到 n)。在第二个表 2(表 B)中,我有两列:在第一个表中,我有一个名称,在第二个我的值从 1 到 n(如果我在 . 中添加一个值。表 B 中更新的第二个列是对第一个的引用,反之亦然。完成)表 A 中的列。

我的问题:我可以限制表 A 中第二个值出现在表 B 中的分离次数,特别是最多 10 次吗? 一个例子是这样的:(列 val 限制为 3)(第三个表会发送错误)

First table:      Second table:        Third table(imaginary)
+---+             +----+-----+          +----+-----+ 
|val|             |name| val |          |name| val |
+---+             +----+-----+          +----+-----+
| 1 |             |  a |  1  |          |  a |  1  |          
| 2 |             |  b |  2  |          |  b |  2  |
+---+             |  c |  1  |          |  c |  1  |
                  |  d |  1  |          |  d |  1  |
                  +----+-----+          |  e |  1  |
                                        +----+-----+

PS:对不起我的英语。

【问题讨论】:

  • 抱歉,仍然没有收到问题。你能再编辑一点吗?
  • 请查看我的编辑。我想我们同时在编辑,而你在我之后保存,覆盖了我的更改。

标签: mysql sql phpmyadmin


【解决方案1】:

您需要在第二个表的表定义中添加一个约束。这样,数据库会在插入和更新时为您检查值。

【讨论】:

  • 不同的好(和有趣)的反应。我试图创建一个变量来计算值在 2 表中出现的次数......但是如果我在级联中进行更新......那么我的变量就会变得混乱
【解决方案2】:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 2011-02-26
  • 1970-01-01
  • 2015-03-07
  • 2011-04-22
相关资源
最近更新 更多