mysql - 我无法在 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)”附近使用正确的语法
解决方案
给你的约束命名:
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;
推荐阅读
- c++ - C ++中的字符和整数?
- c++ - 具有 const 属性的不可变类
- ios - Apple 使用 SDWebImage 在 iOS 上阻止 Xamarin 应用程序
- javascript - 未捕获(承诺中)错误:既没有在给定选项中指定“发件人”地址,也没有在默认选项中指定
- c# - MessageCenter xamarin 表单的 lambda 回调中未执行方法
- github-actions - GitHub 操作拆分工作流文件
- reactjs - React Native 为什么我的代码在完成任务之前执行?Promise.all().then() 异步问题
- c# - 确定已指定 JSON 中的哪些字段
- php - php GD 图形没有产生预期的结果
- fonts - Emacs redhat 不需要的用于 HTML 标签、目录列表、代码行等的不完整的反向视频字体