我有一个三张桌子。一是course, section其他的是前提条件.
CREATE TABLE course(
course_number int(11) NOT NULL AUTO_INCREMENT,
course_name varchar(20) NOT NULL,
credit_hours int(11) NOT NULL,
department varchar(5) NOT NULL,
PRIMARY KEY (course_number)
)
CREATE TABLE section (
section_id int(11) NOT NULL,
course_number` int(11) NOT NULL,
semester varchar(6) NOT NULL,
year year(4) NOT NULL,
instructor varchar(20) DEFAULT NULL,
PRIMARY KEY (section_id),
FOREIGN KEY (course_number) REFERENCES course (course_number)
)
create table prerequisite(
course_number int not null auto_increment,
prerequisite int not null,
primary key (course_number),
foreign key (prerequisite) references course(course_number)
);
我想更改两个表中的 course_number 的数据类型,但是当我运行查询时
alter table course change course_number course_number varchar(20);
我看到以下错误:
无法更改列“course_number”:在表“university.section”的外键约束“section_fk”中使用
这里有什么问题吗?最好的解决方案是什么?我所说的最佳解决方案是指,不要丢失任何数据或删除任何表并从头开始创建。