![]() |
1
17
不能跨多个表声明唯一约束,而且MySQL根本不支持检查约束。但是您可以设计一个触发器来搜索另一个表中的匹配值。下面是一个测试SQL脚本:
对于每个表,更新时也需要类似的触发器,但删除时不需要任何触发器。 |
![]() |
2
4
最好的方法是用唯一的列声明另一个表,并让多个表引用这些表 |
![]() |
3
3
也许不是直接回答你的问题,但是: 您应该考虑重写代码并重新构造数据库,以便将这两个表合并为一个表。 您现在尝试实施的设计将使您的代码和数据库模式复杂化,并且将使任何进一步升级到其他数据库软件或框架变得更加困难。 |
![]() |
4
1
您可以添加一个以一列作为主键的额外表。然后在每个旧用户表上创建一个触发器,将id插入到这个额外的表中。
然后可以用
|
![]() |
5
0
显然,如果两个表中已经有重复项,则必须手动解决该问题。向前移动,您可以编写一个触发器,检查两个表是否已经存在该值,然后将其应用到两个表。 |
![]() |
6
0
更改ID列的类型是否可以负担得起?然后,您可以选择在任意多个表上都是唯一的guid。 |
![]() |
7
-1
我不知道MySQL,但这是在Oracle中实现它的方法,我相信MySQL也支持物化视图。 在这两个表上创建物化视图。并在此视图上添加唯一约束。 每次提交对两个基表之一的更改时,都需要刷新此视图。 |
![]() |
ecology · 基于R中随机生成数集的子集列 2 年前 |
![]() |
Krischk · 使用python;获取列表中错误项的索引[已关闭] 2 年前 |
![]() |
Mohona · 对一维数组元素的迭代在几次迭代后给出了索引错误 2 年前 |
![]() |
X3VI · 熊猫-重命名_轴后无法按预期工作-为什么? 2 年前 |
![]() |
dam · 为什么这是我使用索引的输出?什么是索引?[闭门] 2 年前 |
![]() |
Sahil Panhalkar · 显示索引超出范围的列表更新语句 2 年前 |
![]() |
SpaceBallz · 比较嵌套列表中的值 2 年前 |
![]() |
startresse · 自定义type\u索引顺序,无boost 2 年前 |