我想知道是否可以修改外键?
FOREIGN KEY (member) REFERENCES scores (level) ON DELETE CASCADE,
我想把它改成:
FOREIGN KEY (member, subject) REFERENCES scores (level, subject) ON DELETE set null,
这可能吗?
最佳答案
您不能在单个语句中修改 key ,请参阅 ALTER TABLE语法,其中没有可用的 ALTER CONSTRAINT。
您必须使用 2 个 ALTER TABLE 语句来完成您想要的。
使用 ALTER TABLE DROP FOREIGN KEY 删除第一个中的键。 使用 ALTER TABLE ADD CONSTRAINT FOREIGN KEY 使用第二个新列重新创建它。
您可以将两者封装在一个事务中以进行原子修改。
关于mysql - 我该如何修改外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314262/