5
create table Foo(
 userId bigint(20) not null,
 KEY `Foo_userId` (`userId`),
 CONSTRAINT `Foo_userId` FOREIGN KEY (`userId`) REFERENCES `User` (`id`)
);

如何将 Key/constraint 名称从 Foo_userId 更改为 Bar_userId,只需更改名称即可。我知道可以先删除它们,然后重新创建它们。我正在寻找一种简单的方法,例如

alter table Foo rename KEY Foo_userId Bar_userId;
alter table Foo rename CONSTRAINT Foo_userId Bar_userId;

mysql中有这样的东西吗?谢谢。

4

1 回答 1

0

为了更改约束名称或属性,您可以删除旧的外键约束并添加一个新约束。这是唯一真正对我有用的解决方案。

alter table FOO 
drop foreign key Foo_userId,
add constraint Bar_userId foreign key (`userId`) references`User` (`id`)

是另一个对我有帮助的答案。

于 2017-12-20T09:20:36.080 回答