添加外键时,这就是我使用的
ALTER TABLE grade ADD CONSTRAINT fk_grade_id FOREIGN KEY (qid) REFERENCES question(qid);
但是要删除外键,这就是我使用的
ALTER TABLE article DROP foreign key fk_grade_id;
为什么?
这是因为您选择以这种方式使用更改表。
正如 mysql 关于 alter table 的文档所说,如果您添加外键,则约束子句的使用是可选的:
添加 [约束 [符号]] 外键 [index_name] (index_col_name,...(
有多种约束类型,而不仅仅是外键,使用约束子句可以应用一致的命名约定。但是当你删除外键时,这不是必需的,你只需通过它的名字引用它。
此外,无论出于何种原因,mysql 都会忽略alter table
中的index_name
,而是使用该symbol
来命名索引。