我正在制作两个表,我希望personOnetableb中的person列引用table上的列a,但由于某种原因它不起作用。
我以下面的代码为例:
create table a(
person varchar(20),
cost varchar(10) not Null
)character set latin1
collate latin1_general_ci;
create table b(
personOne varchar(20),
personTwo varChar(2) not null,
key person_index (personOne),
CONSTRAINT C FOREIGN KEY (personOne) references a(person)
) engine=InnoDB default charset=latin1;
Run Code Online (Sandbox Code Playgroud)
它告诉我一个错误:
错误代码:3780。在外键约束“C”中引用列“personOne”和引用列“person”不兼容。
我试图将引擎设置为 InnoDB,但这没有用。我对这个问题进行了更多研究,但无法弄清楚如何解决它。