Mysql SQL错误:#1005-Can';不创建表

Mysql SQL错误:#1005-Can';不创建表,mysql,foreign-keys,Mysql,Foreign Keys,这是我的密码: create table if not exists Pelajar ( no_pelajar char(7) not null, nama varchar(30) not null, alamat varchar(50) not null, no_telepon varchar(10), grade integer not null, primary key (no_pelajar) ); create table if no

这是我的密码:

 create table if not exists Pelajar (
    no_pelajar char(7) not null,
    nama varchar(30) not null,
    alamat varchar(50) not null,
    no_telepon varchar(10),
    grade integer not null,
    primary key (no_pelajar)
);

create table if not exists Kelas (
    kode_kelas char(5) not null,
    no_pengajar char(9) not null,
    no_pelajaran char(4) not null,
    ruang integer not null,
    waktu char(5) not null,
    primary key (kode_kelas)
);

create table if not exists Pelajaran (
    no_pelajaran char(4) not null,
    grade integer not null,
    subjek varchar(30) not null,
    primary key (no_pelajaran)
);

create table if not exists Pengajar (
    no_pengajar char(9) not null,
    nama varchar(30) not null,
    alamat varchar(50) not null,
    no_telepon varchar(10) not null,
    primary key (no_pengajar)
);

create table if not exists Pembayaran (
    no_pembayaran char(11) not null,
    status_pembayaran varchar(11) not null,
    tgl_pembayaran char(8) not null,
    primary key (no_pembayaran)
);

create table if not exists KartuAnggota (
    no_pelajar char(7) not null,
    kode_kelas char(5) not null
);

create table if not exists SlipPembayaran (
    no_pembayaran char(11) not null,
    no_pelajar char(7) not null
);

alter table SlipPembayaran
    add foreign key (no_pembayaran)
    references Pembayaran(no_pembayaran);

alter table SlipPembayaran  
    add foreign key (no_pelajar)
    references Pelajar(no_pelajar);

alter table KartuAnggota
    add foreign key (kode_kelas) 
    references  Kelas(kode_kelas);

alter table KartuAnggota
    add foreign key (no_pelajar)
    references Pelajar(no_pelajar); 

alter table Kelas
    add foreign key (no_pelajaran) 
    references  Pelajaran(no_pelajaran);

alter table Kelas
    add foreign key (no_pengajar) 
    references  Pengajar(no_pengajar);
================================================================================= 运行代码后,我得到了以下消息: SQL查询:

ALTER TABLE KartuAnggota ADD FOREIGN KEY ( kode_kelas ) REFERENCES Kelas( kode_kelas ) ;
MySQL说:

#1005-无法创建表“bimbel.#sql-2f2c_1c6”(错误号:150)
您能解释一下吗?

如果您重新创建一个被删除的表,它必须有一个符合引用它的外键约束的定义。如前所述,它必须具有正确的列名和类型,并且必须在引用的键上具有索引。如果不满足这些条件,MySQL将返回错误号1005,并在错误消息中引用错误150