MySQL 将 COMMENT 添加到外键

问题描述 投票:0回答:2

我正在将旧数据库 SyBase 转换为 MySQL,并且我有这个 DDL 查询:

ALTER TABLE "DBA"."tab_prodotto"
  ADD FOREIGN KEY "fkey_idlinea" ("tpr_idlin") 
  REFERENCES "DBA"."linea" ("lin_id")
go
COMMENT ON FOREIGN KEY "DBA"."tab_prodotto"."fkey_idlinea" IS
'Riferimento linea'
go

查询的 Alter 部分工作得很好,但我在 COMMENT 上遇到了麻烦。我已经知道我可以更改用于添加 COMMENT 的列,但是外键也可以这样做吗?如果是,怎么办?我在文档中没有发现任何特别的内容。 预先感谢您。

mysql sql foreign-keys
2个回答
10
投票

MySQL 参考手册 显示

FOREIGN KEY
命令允许的语法为:

  [CONSTRAINT [symbol]] FOREIGN KEY
  [index_name] (index_col_name, ...)
  REFERENCES tbl_name (index_col_name,...)
  [ON DELETE reference_option]
  [ON UPDATE reference_option]

reference_option:
   RESTRICT | CASCADE | SET NULL | NO ACTION

没有允许的

COMMENT
部分。看来这是不允许的。

我上面引用的手册是5.6版本的。我查了5.1和5.5版本,语法是一样的。


0
投票

奇怪的是,MySQL Workbench 允许在外键上输入外键注释,但在同步到数据库时不会生成它。

在 MySQL Workbench 中输入外键注释会导致该表在同步更改时继续显示......非常烦人!

© www.soinside.com 2019 - 2024. All rights reserved.