【报错1215】 My sql 在创建表的时候定义外码 Cannot add foreign key constraint

问题遇到的现象和发生背景

最近初学数据库理论和应用,在完整性约束的实验中要求创建表相关属性设置为外码。但是在编程实现的过程中,出现1215报错。
csdn上的错误我基本试过了, 问题依旧存在。引擎设置为“InnoDB”,已检查primary key 和 foreign key ,并且相关属性类型已经设置相同

问题相关代码,请勿粘贴截图
CREATE TABLE `CBS`  
(Cno CHAR(4) PRIMARY KEY,
 Cname CHAR(40) NOT NULL,
 Ctel CHAR(100),
 Cyb CHAR(6),
 Caddr CHAR(40)
);

CREATE TABLE `TS`  
(Tsno CHAR(15),
 Tsname CHAR(100)NOT NULL,
 Tnum SMALLINT CHECK(Tnum>0),
 Tpos CHAR(30),
 Cno CHAR(4),
 PRIMARY KEY(Tsno,Cno),
 CONSTRAINT FOREIGN KEY (Cno)REFERENCES CBS(Cno)
 );

运行结果及报错内容

错误代码: 1215
Cannot add foreign key constraint

我的解答思路和尝试过的方法

子表和父表的数据类型完全一致
引擎已设置为“InnoDB”

我想要达到的结果

CBS(Cno)的括号是中文状态下的。

CREATE TABLE `TS`  
(Tsno CHAR(15),
 Tsname CHAR(100)NOT NULL,
 Tnum SMALLINT CHECK(Tnum>0),
 Tpos CHAR(30),
 Cno CHAR(4),
 PRIMARY KEY(Tsno,Cno),
 CONSTRAINT FOREIGN KEY (Cno)REFERENCES CBS(Cno)
 );

img