【问题标题】:How to name SQL FOREIGN KEY Constraint on CREATE two tables columns into a relationship TABLE如何将 SQL FOREIGN KEY Constraint on CREATE 两个表列命名为关系表
【发布时间】:2019-05-12 01:28:19
【问题描述】:

我只是想知道是否有办法在创建表上命名外键

FOREIGN KEY (uuid) REFERENCES employee(uuid));

我尝试这样做并将我的外键命名为 fk1,但我遇到了语法错误

FOREIGN KEY fk1 (uuid) REFERENCES employee(uuid));

错误

org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is com.jda.cloudsql.common.MigrationException: org.flywaydb.core.internal.dbsupport.FlywaySqlScriptException:

  FOREIGN KEY FK1[*] (UUID) REFERENCES EMPLOYEE(UUID)) "; expected "("; SQL statement:

【问题讨论】:

  • 您是在尝试向已经存在的表添加外键,还是在CREATE TABLE 语句中询问如何执行此操作。您当然可以在创建表时添加外键。
  • @TimBiegeleisen 来自 CREATE TABLE,我实际上删除了以前的表并重新创建它
  • See here 了解如何执行此操作。

标签: mysql sql foreign-keys tablecolumn


【解决方案1】:

你可以写:

ADD CONSTRAINT `customized_foreign_key_name` FOREIGN KEY (`uuid`) REFERENCES `employee` (`uuid`)

【讨论】:

  • 我正在创建表,而不是更改。我不知道这在这种情况下是否有效。它需要一个类型而不是一个约束?
  • 为什么不先创建表,然后开始创建外键?
  • 是的,这正是我要做的。谢谢
  • 很高兴我能帮上忙。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-11
  • 2023-03-24
  • 2019-12-04
  • 2021-01-09
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多