在MySQL中,没有必要给外键约束一个符号名。如果未给出名称,InnoDB将自动创建一个唯一的名称。

无论如何,这是我使用的约定:

fk_[referencing table name]_[referenced table name]_[referencing field name]

例:

CREATE TABLE users(

user_id int,

name varchar(100)

);

CREATE TABLE messages(

message_id int,

user_id int

);

ALTER TABLE messages ADD CONSTRAINT fk_messages_users_user_id

FOREIGN KEY (user_id) REFERENCES users(user_id);

我尝试在引用和引用表中使用相同的字段名,如上例中的user_id。当这不可行时,我还将引用的字段名追加到外键名。

这个命名约定允许我通过查看表定义来“猜测”符号名,此外它还保证唯一的名称。

mysql fk_MySQL FK的正确命名约定是什么?相关推荐

  1. pk 与fk mysql_什么是MySQL FK的正确命名约定?

    如果你没有发现自己经常在创建后引用fk,那么一个选择是保持简单,让MySQL为你做命名(正如Daniel Vassallo在他的回答开头提到的那样). 虽然您无法使用此方法唯一地"猜测&qu ...

  2. MySql 你知道如何正确的取随机数据吗 ?

    志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的 ...

  3. mysql的十进位,MySQL十进制字段的正确默认值是什么?

    我的MySQL数据库中有一个十进制字段.我把它定义为: decimal(1,1)UNSIGNED NULL.但我想为它设置一个默认值,如7.0,这就是我遇到的问题.每当我想设置此值时,我都会收到此错误 ...

  4. [转]MySQL忘记密码的正确解决方法

    [转]MySQL忘记密码的正确解决方法 参考文章: (1)[转]MySQL忘记密码的正确解决方法 (2)https://www.cnblogs.com/wincai/p/6077211.html 备忘 ...

  5. 下面关于在dos停止mysql_下面关于在DOS停止MySql的命令中,正确的是 (5.0分)_学小易找答案...

    [单选题]下面语句中,可以创建数据库和创建表的是 (5.0分) [简答题]253页10.1第一大题 [单选题]下面关于在DOS停止MySql的命令中,正确的是 (5.0分) [单选题]下面关于SQL全 ...

  6. mysql limit 5 5 正确_关于SELECT * FROM tb_book LIMIT 5,10描述正确的是( )。 (5.0分)_学小易找答案...

    [简答题]粉末片木栓细胞 [单选题]下列数据类型中适合存储PDF文档的是( ) (5.0分) [简答题]10.1第二大题 [单选题]下面在sh_goods表中根据cat_id升序排序,并对每个cat_ ...

  7. mysql中下列正确的命令是_下面关于在DOS启动MySql的命令中,正确的是() (5.0分)_学小易找答案...

    [单选题]下面选项中,用于表示固定长度字符串的数据类型是 (5.0分) [单选题]下面语句中,可以创建数据库和创建表的是 (5.0分) [单选题]MySQL是以下列哪种模式实现的 (5.0分) [单选 ...

  8. mysql实战17 | 如何正确地显示随机消息?

    我在上一篇文章,为你讲解完 order by 语句的几种执行模式后,就想到了之前一个做英语学习 App 的朋友碰到过的一个性能问题.今天这篇文章,我就从这个性能问题说起,和你说说 MySQL 中的另外 ...

  9. 在mysql中删除表正确的是什么_在MySQL中删除表的操作教程

    丢弃现有MySQL的表是很容易的.但是需要非常小心,删除任何现有的一个表后将无法恢复,因为数据丢失. 语法: 下面是通用的SQL语法丢弃(删除)MySQL表: DROP TABLE table_nam ...

  10. mysql验证身份证号正确_通过SQL校验身份证号码是否正确

    根据提供的身份证号码信息验证身份证号码是否符合二代身份证规范,其中区域编码网上可下载. 使用数据库为DB2,但目测可以通用身份证号码第18位验证算法从网上查得,具体验证算法如下: 1.将前面的身份证号 ...

最新文章

  1. 「SAP技术」SAP WM 如何根据TR号码查询TO号码?
  2. IOS-C语言第11天,Dynamic Memory(动态
  3. MainActivity向子Fragment传值
  4. oracle的in集合,oracle中in与not in集合中有空值问题
  5. easyui源码翻译1.32--SearchBox(搜索框)
  6. Gradle-jar-aar
  7. PHP - 如何处理文件名乱码
  8. 前端代码——前端代码规范(含html、css、javascript、vue等)
  9. 从TextBox的升级看VB6与VB2010的不同~
  10. 来自Intouch小菜鸟的第一篇Blog——报表制作
  11. 【叨、校长】一个基于Extjs、Pushlet美轮美奂的Web聊天室
  12. Linux性能工具:系统CPU
  13. 域名注册处更改dns服务器,怎么修改DNS服务器_为什么要修改DNS服务器
  14. storm apache java_Apache Storm 示例 Java 拓扑 - Azure HDInsight | Microsoft Docs
  15. 什么是三目运算符?对三目运算符的理解
  16. B. Applejack and Storages(数学+STL的使用) Codeforces Round #662 (Div. 2)
  17. postgresq | pg命令
  18. 软件测试 -- 进阶 11 手工测试与自动化测试
  19. 写出计算机的主要应用,计算机的主要用途是什么?
  20. AT_abc210_d [ABC210D] National Railway 的题解

热门文章

  1. VS隐藏菜单插件 Hide Main Menu
  2. 过程现场总线解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  3. phpmyadmin 下载
  4. 八皇后问题----Java实现
  5. Groovy(二)groovy基础
  6. 王者荣耀英雄战力 最低战区查询
  7. 《神经网络与深度学习》读书笔记(不完全)
  8. 愤怒的牛(重回基础二分)
  9. 【计算机网络】数据链路层 : ALOHA 协议 ( 纯 ALOHA 协议 | 时隙 ALOHA 协议 )
  10. 数字图像处理不得不知的点(1)