php - mysql缺少外键约束的时候,如何合理的更新两张相关联的表?
天蓬老师
天蓬老师 2017-04-10 14:56:15
[PHP讨论组]

我有一个需求大概是这样的:

有一张文章表和一张类别表,文章表有一个cat_id关联类别表。这里,mysql那一层没有做外键约束。在这种情况下,每次创建文章表的时候,一般大家会怎么处理这里cat_id的?

我的几个方案:
1、去查一次类别表,如果不存在这个类别,就不让更新。(优化版:如果类别条数不多,直接放在内存备查,或者使用缓存)
2、根本不去管这个类别有没存在。

更新:
1、是做一个论坛系统,用户可以发表文章,而类别主要由运维的人员创建。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
ringa_lee

我一般都是用第二种的 直接忽略

如果业务上对数据的严谨性要求很高 当然还是第一种
如果要求不是很高 第二种就可以了
    首先在保存到库中时,前面的业务一般都会保证这个id是有源可循的;
    再次即使这个id对应的类别不存在或者以后这个类别被删除时没做级联删除,最终效果也不过是在查询这个类别是找不到数据,通常和把这个id置空效果接近

怪我咯

如你的第一个方案,查一下类别表,类别一般不会太大,大可以使用cache

大家讲道理

1.去查一次类别表如果没有的话,键值弄成 0 插入文章
2.显示的时候弄给未分类类别(也就是键值为 0 的文章)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号