如何在MySQL数据库中管理条件库?

哈里森4

我和这个旧职位有同样的问题

但就我而言,我没有桌子,我只有两个专栏。我解释:

***mytable
id
name
conditional_1 (is a foreign key int)
conditional_2 (int)

包含的数据如下所示:

id  name   conditional_1  conditional_2
1   oscar  1              NULL
2   rene   NULL           67
3   hello  2              NULL
4   stack  4              NULL
5   overf  NULL           98

我做对了吗?否则我将需要以下内容:

***mytable
id
name
cond_type 
conditional_id (fk tbl_post)

***condtable1
conditional_1 

***condtable1
conditional_2

对于这种情况最好的解决方案是什么?

布兰科·迪米特里耶维奇

通过使用同一表中的列,您可以强制执行排他性和参照完整性。换句话说,您可以确保在给定的行中,最多一个字段为非NULL 1, 引用正确表中的现有行。另外,您可以考虑继承。有关这两者的更多信息,请查看这篇文章

cond_type从DBMS角度来看,类似的东西毫无意义-您将放弃对引用完整性的自动实施。并发环境中手动执行此操作可能不正确或缓慢。2


1不幸的是,MySQL没有强制执行CHECK约束(这是强制执行排他性的自然机制),但是您仍然可以依靠触发器。

2您需要非常小心地锁定,以避免出现竞争情况,即使正确执行操作,也可能会损害过程的可伸缩性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在数据库中管理国家

来自分类Dev

如何在android中管理数据库

来自分类Dev

如何在PHP中管理嵌套的数据库事务?

来自分类Dev

如何在MySQL中的IF条件下在Codeigniter中修复“发生数据库错误”?

来自分类Dev

如何在Codeigniter中获取MySQL数据库的第N行中添加条件

来自分类Dev

如何在MySQL数据库中输入$ _POST数据

来自分类Dev

如何在mysql数据库中添加json数据

来自分类常见问题

如何在Julia中连接到MySQL数据库

来自分类Dev

如何在mysql数据库中存储语音

来自分类Dev

如何在Android中监听mysql数据库的更改

来自分类Dev

如何在mysql数据库中更新时间戳?

来自分类Dev

如何在Python数组中列出MySQL数据库

来自分类Dev

如何在MySQL数据库中插入数组?

来自分类Dev

如何在mysql数据库中复制架构

来自分类Dev

如何在Julia中连接到MySQL数据库

来自分类Dev

如何在MySQL数据库中对行进行排序

来自分类Dev

如何在mysql数据库中存储语音

来自分类Dev

如何在Bluemix中备份MySQL数据库?

来自分类Dev

如何在MySQL / phpMyAdmin中还原数据库?

来自分类Dev

如何在数据库mysql中制作foreach

来自分类Dev

如何在mysql数据库中存储时间?

来自分类Dev

如何在 django 1.10.6 中连接 MySQL 数据库

来自分类Dev

如何在 MySql 数据库中存储对象?

来自分类Dev

如何在 MySQL 数据库中存储音阶

来自分类Dev

如何在mysql数据库中输入json文件?

来自分类Dev

如何在Mysql数据库中存储ImagePath?

来自分类Dev

如何在图书馆管理系统中管理数据库?

来自分类Dev

如何在Rails应用程序中管理其他数据库中的模式

来自分类Dev

如何从条件中删除数据库中的数据?

Related 相关文章

热门标签

归档