MySQL 不用外键的话,如何让表起来关联呢?

Mysql刚入门,看到有人说表关联不要用外键。

我就有点懵逼了

1. 如果不用数据库的外键关联,那表之间应该怎么关联呢?
2. 不用外键约束,怎么保证表的数据完整性和一致性的维护?

阅读 685
评论 更新于 2019-09-16
    9 个回答
    评论 赞赏 2019-10-06

      设计表格的时候还是按照外键关联去设计,只是不在实际创建外键在表上,通过程序控制来实现。

      评论 赞赏 2019-09-16

        例如

        SELECT A.*,B.title,B.num FROM Table A,Table B 
        WHERE A.id=B.cid ORDER BY A.id
        或
        SELECT A.*,B.title,B.num FROM Table A LEFT JOIN Table B 
        ON A.id=B.cid ORDER BY A.id
        
        评论 赞赏 2019-09-17

          1,手写SQL

          2,手写SQL和事务

          评论 赞赏 2019-09-16
            • 关联的方式和有外键时是一样的,只是不把关联的字段声明为foreign key
            • 完整性和一致性靠代码逻辑和事务维护,如果逻辑写错或手动去改数据的话是可以被破坏的

            小应用,数据量和访问量都不大的话你加外键也没关系

            评论 赞赏 2019-09-16

              中间表....

              评论 赞赏 2019-09-16
                _TNT_
                • 2.8k

                两边都发帖可还行
                关联本身就是一个逻辑概念,实际操作起来你怎么join,怎么查询,怎么组装数据,就怎么关联
                而外键只是约束,保证数据一致性,但是因为种种原因(比如依赖数据库,比如性能)不被推荐使用

                评论 赞赏 2019-09-16
                  近光
                  • 172

                  通过服务器端的代码实现,各种中间件

                  评论 赞赏 2019-09-17

                    有个东西叫做代码

                    评论 赞赏 2019-09-18
                      撰写回答

                      登录后参与交流、获取后续更新提醒