MySQL使用外键创建表时出错[3780]

MySQL使用外键创建表时出错[3780],mysql,r,Mysql,R,我正在将RMariaDB与代码一起使用 ALTER TABLE `general_pop_estimates` ADD FOREIGN KEY (`country_code`) REFERENCES `countries` (`country_code`); 它给出了错误 错误:外键约束“常规”中引用的列“国家代码”和引用的列“国家代码”不兼容。[3780] 这是尽管他们有相同的字符类型如下所示 CREATE TABLE IF NOT EXISTS `countries` ( `count

我正在将RMariaDB与代码一起使用

ALTER TABLE `general_pop_estimates` ADD FOREIGN KEY (`country_code`) REFERENCES `countries` (`country_code`);
它给出了错误

错误:外键约束“常规”中引用的列“国家代码”和引用的列“国家代码”不兼容。[3780]

这是尽管他们有相同的字符类型如下所示

CREATE TABLE IF NOT EXISTS `countries` (
  `country_code` varchar(255) PRIMARY KEY,
  `name` varchar(255)
);
我试着用它作为补救办法

ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;
但问题依然存在


我不确定是什么问题。非常感谢您的帮助。

为两个表提供
显示创建表
输出(不是用于创建的代码)。代码本身是正确的:请检查这里的条件和限制。我在小提琴中使用MySQL版本8,更改为您的实际版本(代码有效性仍将保持)。@Akina我使用的是服务器版本:8.0.21 MySQL社区服务器-GPL。我坐的和你用的是同一个版本?我不记得了。打开提供的小提琴链接并添加
SELECT VERSION()查询到它。
ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;