数据库的报错记录【长期更新】

目录

1、导入数据

2、设计表/建表

(1)字段主键设置​编辑

(2)增删索引

(3)注释语句


1、导入数据

我做的是先建表,再导入数据,过程中出现了一些报错。

导入教学:

选中表,点“导入向导”。根据提示一步步做。

报错是Cannot open the database……

解决方案:​​​​​​真 彻底 Navicat导入Excel文件表时无法打开的四种解决办法

这个解决方案,对于打开access文件同样有效。

首先,我打开了MySQL和Navicat的“关于”部分,都是64位的。排除位数原因。

第二步,我查看了日志,因为还没有导入就报错,所以根本查不出来日志。

关于:在“帮助”/“Help”中的最后一项

下载了Access Database Engine之后可以解决。

2、设计表/建表

(1)字段主键设置

 1170-文本大字段设为主键时应该设置最长的长度。

ALTER TABLE `表名` 
MODIFY COLUMN `para_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL FIRST,
MODIFY COLUMN `para_chname` varchar CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL AFTER `para_name`;

第一步,先检查一下语句,单引号,分号有没有写错等等。

第二步,重新一步步操作+保存,找到了报错原因,把第二个字段从longtext改成varchar的时候不写最大长度就会报错。

因为自动建表的时候longtext比较占用存储空间,想改成varchar的时候忘了写导致了报错。

改正后的SQL语句如下:

ALTER TABLE '表名',
MODIFY COLUMN `para_name` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '代码' FIRST,
MODIFY COLUMN `para_chname` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标签' AFTER `para_name`;

字段类型后面+(最大长度)。

1062-主键必须是唯一的,同一主键值不能有多条。

1406-字段最大长度太小。

1114-只能确定是字段类型问题,具体问题未知,表空间不足。

这个问题我最后是重新删表之后,先建表把字段和长度建完,再重新导数据,就不报错了。导数据之前先建表,关闭发生错误时仍旧继续导入的选项。

优化表报错

1878-Temporary file  write failure

只能确定是索引问题,具体问题未知

(2)增删索引

ALTER TABLE `chinese`.`表名` 
ADD UNIQUE INDEX `代码`(`para_name`) USING BTREE,
DROP INDEX `标签`;

记一对增删索引的语句。

索引类型分为UNIQUE、FULLTEXT、NORMAL、SPATIAL,这里我选了UNIQUE唯一索引。

索引方法分为B-tree和HASH两种。

(3)注释语句

ALTER TABLE `chinese`.`表名` 
MODIFY COLUMN `type_id` int NULL DEFAULT NULL COMMENT '编辑规则' FIRST;

(4)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值