【已解决】黑马点评项目导入hmdp.sql报错,例如200代表2元'
分享于 点击 3284 次 点评:122
【已解决】黑马点评项目导入hmdp.sql报错,例如200代表2元'
前置知识
看到这篇文章,你一定知道怎么导入sql文件,我看的这篇
https://blog.csdn.net/GCTTTTTT/article/details/128020789
-
打开navicat的一个连接,建立一个数据库名称随意(比如hmdp)
- 字符集选择
utf8mb4
- 排序规则选择
utf8mb4_general_ci
- 字符集选择
-
双击打开刚才创建的hmdp数据库,右键选择运行SQL文件
-
导入SQL文件保持
utf8
即可
作者环境
系统环境:macos
MySQL环境
SELECT VERSION()
得到
version 8.2.0
声明
仅保证至2025年4月5日时,该问题可以解决
报错信息
类似下文中报错
https://blog.csdn.net/loveSIYU/article/details/131050166
> 1067 - Invalid default value for 'begin_time'
> 查询时间: 0.001s
报错分析
类似下文原因
https://blog.csdn.net/hello_boyu/article/details/110860154
MySQL版本导致,我的8.2版本不接受hdmp.sql文件里的一个create table建表操作:
CREATE TABLE `tb_seckill_voucher` (
`voucher_id` bigint(20) UNSIGNED NOT NULL COMMENT '关联的优惠券的id',
`stock` int(8) NOT NULL COMMENT '库存',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`begin_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '生效时间',
`end_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '失效时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`voucher_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '秒杀优惠券表,与优惠券是一对一关系' ROW_FORMAT = Compact
'0000-00-00 ····'这个不为8.2接受
解决方法
将hmdp.sql
文件中的create table tb_xxxx(下文一处)语句中的'0000-00-00 00:00:00'
全部改为CURRENT_TIMESTAMP
即可
CREATE TABLE `tb_seckill_voucher` (
`voucher_id` bigint(20) UNSIGNED NOT NULL COMMENT '关联的优惠券的id',
`stock` int(8) NOT NULL COMMENT '库存',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`begin_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '生效时间',
`end_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '失效时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`voucher_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '秒杀优惠券表,与优惠券是一对一关系' ROW_FORMAT = Compact
直接给出我改好了的hmdp.sql文件内容
复制下面全部代码替换你的hmdp.sql中的所有代码
/*
Navicat Premium Data Transfer
Source Server : local
Source Server Type : MySQL
Source Server Version : 50622
Source Host : localhost:3306
Source Schema : hmdp
Target Server Type : MySQL
Target Server Version : 50622
File Encoding : 65001
Date: 14/03/2022 21:38:11
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for tb_blog
-- ----------------------------
DROP TABLE IF EXISTS `tb_blog`;
CREATE TABLE `tb_blog` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`shop_id` bigint(20) NOT NULL COMMENT '商户id',
`user_id` bigint(20) UNSIGNED NOT NULL COMMENT '用户id',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
`images` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '探店的照片,最多9张,多张以\",\"隔开',
`content` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '探店的文字描述',
`liked` int(8) UNSIGNED NULL DEFAULT 0 COMMENT '点赞数量',
`comments` int(8) UNSIGNED NULL DEFAULT NULL COMMENT '评论数量',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of tb_blog
-- ----------------------------
INSERT INTO `tb_blog` VALUES (4, 4, 2, '无尽浪漫的夜晚丨在万花丛中摇晃着红酒杯
用户点评