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

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

我就有点懵逼了

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

阅读 10.8k
9 个回答

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

例如

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

1,手写SQL

2,手写SQL和事务

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

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

中间表....

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

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

有个东西叫做代码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏