-- 常见问题管理缺表修复 -- 报错示例:Object 'sys_faq' not found within 'charging_pile_other' -- 请在 charging_pile_other 库执行;脚本可重复执行,不会删除已有数据。 USE `charging_pile_other`; CREATE TABLE IF NOT EXISTS `sys_faq` ( `faq_id` bigint NOT NULL AUTO_INCREMENT COMMENT '问题ID', `question` varchar(500) NOT NULL COMMENT '问题标题', `answer` text COMMENT '问题答案', `video_url` varchar(500) DEFAULT NULL COMMENT '视频教程URL', `sort_order` int DEFAULT '0' COMMENT '排序号', `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', PRIMARY KEY (`faq_id`), KEY `idx_sys_faq_status_del` (`status`, `del_flag`), KEY `idx_sys_faq_sort` (`sort_order`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='常见问题表'; SET @faq_video_url_col_exists := ( SELECT COUNT(1) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'sys_faq' AND COLUMN_NAME = 'video_url' ); SET @faq_add_video_url_sql := IF( @faq_video_url_col_exists = 0, 'ALTER TABLE `sys_faq` ADD COLUMN `video_url` varchar(500) DEFAULT NULL COMMENT ''视频教程URL'' AFTER `answer`', 'SELECT 1' ); PREPARE faq_add_video_url_stmt FROM @faq_add_video_url_sql; EXECUTE faq_add_video_url_stmt; DEALLOCATE PREPARE faq_add_video_url_stmt; INSERT INTO `sys_faq` ( `question`, `answer`, `sort_order`, `status`, `create_by`, `create_time`, `del_flag` ) SELECT '如何使用充电桩?', '1. 停好车辆;2. 扫码启动充电桩;3. 连接充电枪;4. 开始充电。', 1, '0', 'admin', NOW(), '0' WHERE NOT EXISTS ( SELECT 1 FROM `sys_faq` WHERE `question` = '如何使用充电桩?' AND `del_flag` = '0' ); INSERT INTO `sys_faq` ( `question`, `answer`, `sort_order`, `status`, `create_by`, `create_time`, `del_flag` ) SELECT '充电费用如何计算?', '充电费用=充电电量×电价+服务费,具体以实际订单为准。', 2, '0', 'admin', NOW(), '0' WHERE NOT EXISTS ( SELECT 1 FROM `sys_faq` WHERE `question` = '充电费用如何计算?' AND `del_flag` = '0' ); INSERT INTO `sys_faq` ( `question`, `answer`, `sort_order`, `status`, `create_by`, `create_time`, `del_flag` ) SELECT '充电过程中可以拔枪吗?', '充电过程中请勿随意拔枪,如需停止充电请先在APP或充电桩上停止充电后再拔枪。', 3, '0', 'admin', NOW(), '0' WHERE NOT EXISTS ( SELECT 1 FROM `sys_faq` WHERE `question` = '充电过程中可以拔枪吗?' AND `del_flag` = '0' );