mysql中外键名是什么 外键约束命名规则解析

外键名称必须唯一且描述清晰,前缀必须为fk_。

fk_前缀可以快速识别外键约束,例如fk_orders_customers。

表关联名称:fk_表名_引用表名,如fk_orders_customers。

字段关联名称:fk_表名_字段名,如fk_orders_customer_id。

必须是世界上独一无二的。
例如,当orders表关联客户和产品时,使用fk_orders_customers和fk_orders_products。

团队必须统一命名约定,并通过文档和审核流程来确保它。

外键会减慢插入、更新和删除操作,尤其是当数据量很大时。

ONDELETECASCADE可能会导致误删除,请小心。

使用Git管理数据库脚本以避免名称冲突。

当多人协作时,具有相同名称的外键可能会造成混乱。
使用fk_table name_reference表名来解决该问题。

不要使用无意义的名称,例如 fk1 和 fk2 使用fk_orders_products更清晰。

创建外键:ALTERTABLEordersADDCONSTRAINTfk_orders_customersFOREIGNKEY(customer_id)REFERENCEScustomers(id);
删除外键:ALTERTABLEordersDROPFOREIGNKEYfk_orders_customers;
唯一性、描述性和前缀规范是核心。

团队制定规则,文件清晰,经过审查和实施。

从长远来看,可维护性将会提高,协作成本将会降低。

自己掂量一下。

mysql 中怎么关联表

记得上次帮朋友查数据库时,他想不通为什么两个链接表总是少了几行数据。
一查,哎,原来是连接表方法用错了。
内部链接、左链接、右链接、全链接,这个名字听起来挺混乱的。
内联将具有共同点的行放置在两个表中,并忽略没有共同点的行。
它就像积木一样。
只有相同的数字才能将它们组合起来。
左栏先填充左边的列表,如果右边有匹配的则添加,如果不匹配则留空。
这就像音量通话。
左边的弟子先站,右边的弟子站,左边弟子旁边有名字的,没有名字的站在外面。
在右侧版本的 distichon 中,右侧第一个表被填充,如果左侧表中有匹配,则添加它,如果没有匹配,则将其留空。
整个双线比赛需要两只手表。
无论是否比赛,一切都展示出来,就像整个比赛的合影一样。
无论你多高、矮矮、胖瘦,你都必须站在照片中。
然而,如果谨慎使用完整的组合,很容易弄乱结果表。
我的朋友终于发现他把整个链接都写成了内联,而且缺少了很多信息。
因此,在使用SQL连接表时,一定要清楚的了解需求,是要连接那些有共同点的,还是要显示所有数据。
等等,还有别的事。
上次写SQL表连接的时候,不小心把条件写在了开头。
结果,数据表颠倒了。
真的很神奇。
所以,在编写SQL时,要经常检查,以避免出现此类低级错误。
我突然想到SQL这么复杂,如果有一个图形工具可以直观地看到连接表的结果就好了。

MySQL中两表关联的连接表如何创建索引图文详解