首页 > 解决方案 > 我无法在 MYSQL 中删除 FOREIGN KEY,语法有问题

问题描述

CREATE TABLE employee (
emp_id SMALLINT PRIMARY KEY,
first_name VARCHAR(10),
last_name VARCHAR(10),
birthdate DATE,
sex VARCHAR(1),
salary SMALLINT,
super_id SMALLINT,
branch_id SMALLINT
);

ALTER TABLE employee
ADD FOREIGN KEY (super_id) REFERENCES employee(emp_id);

ALTER TABLE employee
ADD FOREIGN KEY (branch_id) REFERENCES branch(branch_id);

ALTER TABLE employee
DROP FOREIGN KEY (super_id);

添加后我无法删除外键。正在努力学习SQL,谢谢您的回答。

ERROR - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“(super_id)”附近使用正确的语法

标签: mysqlforeign-keys

解决方案


给你的约束命名:

ALTER TABLE employee
ADD CONSTRAINT fk_employee_superid__employee_employeeid 
FOREIGN KEY (super_id) REFERENCES employee(emp_id);

按名称删除它:

ALTER TABLE employee
DROP CONSTRAINT fk_employee_superid__employee_employeeid;

推荐阅读