Login
网站首页 > 文章中心 > 其它

解析mysql数据库还原错误:_mysql Error Code: 1005 errno 121)

作者:小编 更新时间:2023-08-15 07:23:51 浏览量:359人看过

解析mysql数据库还原错误:_mysql Error Code: 1005 errno 121)-图1

1. 检查数据库的表名和字段名

下面是一个示例,假设我们导出的数据库名称为database1,其中包含了一个表t_student,该表的主键为id,字段名为name和age.但是,由于导出时表名和字段名中包含了空格,所以呢导致还原时出现错误.

CREATE TABLE +t_student+ (
  +id+ int(11) NOT NULL AUTO_INCREMENT,
  +name + varchar(20) NOT NULL,
  +age + int(11) NOT NULL,
  PRIMARY KEY (+id+)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

在这个示例中,我们需要将表名和字段名中的空格去掉,修改后的语句如下:

CREATE TABLE +t_student+ (
  +id+ int(11) NOT NULL AUTO_INCREMENT,
  +name+ varchar(20) NOT NULL,
  +age+ int(11) NOT NULL,
  PRIMARY KEY (+id+)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

2. 检查表和字段的属性

在MySQL中,每个表和字段都有一些属性(例如数据类型、字符编码、约束等),如果导出的数据库与导入的数据库中表和字段的属性不匹配,就会导致还原失败.所以呢,我们需要检查导出的数据库中每个表和字段的属性是否与新的MySQL环境中的属性匹配.

下面是一个示例,假设我们导出的数据库中包含了一个表t_book,该表有一个字段id,数据类型为int,主键为自增长.而在导入新的MySQL环境时,我们设置该字段的属性为varchar类型,这就导致了还原错误.此时,我们需要修改该字段的数据类型与约束,修改后的语句如下:

CREATE TABLE +t_book+ (
  +id+ int(11) NOT NULL AUTO_INCREMENT,
  +name+ varchar(20) NOT NULL,
  +author+ varchar(20) NOT NULL,
  PRIMARY KEY (+id+)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章