【问题标题】:Is it required to specify a Constraint Name when adding a Foreign Key in MySQL?在 MySQL 中添加外键时是否需要指定约束名称?
【发布时间】:2020-11-06 13:13:44
【问题描述】:

到目前为止,我已经像这样手动创建了表格,没有任何问题。

  CREATE TABLE users (
    id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
    email VARCHAR(100) NOT NULL,
    cityId BIGINT(20) UNSIGNED NULL DEFAULT NULL,
  PRIMARY KEY (id),
    FOREIGN KEY (cityId)
    REFERENCES cities (id));

现在,我正在使用为我生成 SQL 脚本的 MySQL Workbench,而 SQL 脚本看起来有点不同。

  CREATE TABLE users (
    id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
    email VARCHAR(100) NOT NULL,
    cityId BIGINT(20) UNSIGNED NULL DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT cityId
     FOREIGN KEY (cityId)
     REFERENCES locations (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);

我想知道这两个查询之间是否有任何区别。

【问题讨论】:

    标签: mysql sql foreign-keys ddl


    【解决方案1】:

    您不需要为外键提供名称,如果您不提供,则会为其分配一个自动生成的名称。话虽如此,这是一个很好的做法,可以让您的维护工作更轻松。

    【讨论】:

      猜你喜欢
      • 2014-06-01
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2010-12-15
      • 2021-02-10
      相关资源
      最近更新 更多