目录
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)