SQL执行DROP COLUMN语句提示VARCHAR位置无效问题咨询
报错原因及修复方案
触发你当前报错的直接问题有2个:
- DROP COLUMN语法不需要指定字段类型,删除字段仅需提供字段名即可,你额外加了
VARCHAR(100)导致语法解析失败,数据库解析到VARCHAR位置时期望得到语句结束符;,所以抛出了对应报错。 - 操作的表名书写错误:你建表时定义的表名为
Subj_Enrolment,ALTER语句里写的是Subj_Enrolments,多了末尾的s,即便修复DROP语法也会触发表不存在的报错。
修正后的最后一条ALTER语句如下:
ALTER TABLE Subj_Enrolment DROP COLUMN comment;
另外你的代码中还存在几处隐藏错误,后续运行也会触发报错,可同步修复:
- 创建
Subjects表时,主键定义写的是PRIMARY KEY (subject_code),但实际字段名为subj_code,需修改为PRIMARY KEY (subj_code) - 创建
Subj_Enrolment表时,外键定义写的是FOREIGN KEY (subj_id) REFERENCES Subjects(subj_code),但当前表对应字段名为subj_code,需修改为FOREIGN KEY (subj_code) REFERENCES Subjects(subj_code)
内容的提问来源于stack exchange,提问作者KeKDee
相关产品推荐
相关产品推荐

