When I created the students table's foreign key then the question occurred.
cur.execute(
"""
CREATE TABLE teachers
(
id int NOT NULL auto_increment primary key comment 'ID',
teacher_name varchar(255) comment '教师姓名',
teacher_sex varchar(255) comment '教师性别',
teacher_age varchar(255) comment '教师年龄',
teacher_pay int comment '课时费',
course_name varchar(255) COMMENT '课程名称'
)ENGINE=InnoDB ;
""")
cur.execute("ALTER TABLE teachers COMMENT = '教师表';")
cur.execute("ALTER TABLE teachers ADD INDEX for_index_name(course_name);")
cur.execute(
"""
CREATE TABLE courses
(
id int NOT NULL auto_increment primary key comment 'ID',
course_id int COMMENT '课程编号',
course_name varchar(255) COMMENT '课程名称',
time varchar(255) comment '上课时间',
UNIQUE (course_id),
FOREIGN KEY (course_name) REFERENCES teachers(course_name) ON DELETE CASCADE
)ENGINE=InnoDB;
""")
cur.execute("ALTER TABLE courses COMMENT = '课程表';")
cur.execute("ALTER TABLE courses ADD INDEX for_index_name(course_name);")
**cur.execute(
"""
CREATE TABLE students
(
id int NOT NULL auto_increment primary key comment 'ID',
students_name varchar(255) comment '学生姓名',
students_sex varchar(255) comment '学生性别',
students_age varchar(255) comment '学生年龄',
teacher_name varchar(255) comment '教师姓名',
course_name varchar(255) COMMENT '课程名称',
KEY teachers (teacher_name),
constraint teachers FOREIGN KEY (teacher_name) references
teachers(teacher_name) ON DELETE CASCADE,
KEY courses (course_name),
constraint courses FOREIGN KEY (course_name) references courses(course_name)
)ENGINE=InnoDB;
""")**
cur.execute("ALTER TABLE students COMMENT = '学生表';")