#1286 - 未知存储引擎'InnoDB'

时间:2017-03-28 10:34:48

标签: mysql database innodb

请帮帮我,我收到错误

  

#1286 - 未知存储引擎'InnoDB'

运行此查询:

    CREATE TABLE IF NOT EXISTS `tbl_prize` (
  `prize_id` int(11) NOT NULL,
  `prize` int(11) NOT NULL,
  `chance` int(11) NOT NULL DEFAULT '1'
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
ALTER TABLE `tbl_prize`  ADD PRIMARY KEY (`prize_id`);
ALTER TABLE `tbl_prize` MODIFY `prize_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
INSERT INTO `tbl_prize` (`prize_id`, `prize`, `chance`) VALUES(1, 100, 1),(2, 200, 1);

CREATE TABLE IF NOT EXISTS `tbl_user` (
  `user_id` int(11) NOT NULL,
  `reffer_id` int(11) DEFAULT NULL,
  `wallet` varchar(500) NOT NULL,
  `ref_pending` int(11) unsigned NOT NULL DEFAULT '0',
  `earn` int(11) unsigned NOT NULL DEFAULT '0',
  `playnum` int(11) unsigned NOT NULL,
  `ip` int(10) unsigned DEFAULT NULL,
  `reset` int(4) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


ALTER TABLE `tbl_user`
  ADD PRIMARY KEY (`user_id`),
  ADD KEY `reffer_id` (`reffer_id`),
  ADD KEY `username` (`wallet`),
  ADD KEY `ref_pending` (`ref_pending`),
  ADD KEY `ip` (`ip`),
  ADD KEY `reset` (`reset`);


ALTER TABLE `tbl_user`
  MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT;


ALTER TABLE `tbl_user`
  ADD CONSTRAINT `tbl_user_ibfk_1` FOREIGN KEY (`reffer_id`) REFERENCES `tbl_user` (`user_id`) ON DELETE SET NULL;    

1 个答案:

答案 0 :(得分:2)

MySQL服务器通常使用以下存储引擎之一进行配置:

  • InnoDB(通常默认)
  • 的MyISAM

Other engines exists虽然。

您的问题存在于查询的docker {container,image,volume,network} prune部分。如果您不关心存储引擎,最终可以尝试删除它。

另一种解决方案(如果您不了解数据库服务器,那么难以解决的问题)是更改配置中的存储引擎。如果您能够/授权执行此操作,请使用InnoDB配置数据库引擎。找到ENGINE=InnoDB文件并将my.cnf设置为default-storage-engine。还应更改其他参数以使其工作(参见参考资料)。

注意:如果您的MySQL服务器已包含数据,则需要先备份它。

参考文献: