繁体   English   中英

我有一个较旧的.sql 文件(从 5.0.45 导出)我正在尝试通过 phpMyAdmin 导入新版本的 MySQL。 接收错误

[英]I have an older .sql file (exported from 5.0.45) I am trying to import into a newer version of MySQL via phpMyAdmin. Receiving errors

收到以下错误消息:

错误Static分析:

分析时发现1个错误。

此选项与“AUTO_INCREMENT”冲突。 (在 position 692 的“AUTO_INCREMENT”附近)SQL 查询:

-- phpMyAdmin SQL Dump -- version 2.8.2.4 -- http://www.phpmyadmin.net -- -- Host: localhost:3306 -- Generation Time: Mar 23, 2020 at 03:58 PM -- Server version: 5.0.45 -- PHP 版本:5.2.3 -- -- 数据库: weir-jones -- -- -------------------------- ------------------ -- -- 表categories的表结构 -- CREATE TABLE categories ( number int(11) NOT NULL auto_increment, section varchar(255) NOT NULL, parent_id varchar(10) NOT NULL, title varchar(200) NOT NULL, type varchar(255) NOT NULL, content text NOT NULL, display_order int(11) NOT NULL, PRIMARY KEY( number ))引擎=MyISAM AUTO_INCREMENT=126 默认字符集=utf8 AUTO_INCREMENT=126

MySQL 说:文档

1046 - 未选择数据库

============================================

我尝试过使用所有兼容模式导入。 没运气。

旧数据库已消失,无法再次导出。

任何帮助,将不胜感激。

布伦丹

如果你要求1046 No database selected那么就是这个意思。 您从没有USE xxx的数据库中导出了一个表。

所以我建议尝试在数据库中导入它或在 SQL 文件的顶部添加USE子句。

另一件事:如果您在 Stackoverflow 上提出问题,请务必阅读“格式规则”。 这意味着您可以组织您的问题。 实际上很难阅读您有什么错误。 使用强调、代码块和诸如此类的东西:

CREATE table_blub
col1 CHAR(120) NOT NULL,
col2 INT(5)...

这样,某人可以更好地阅读什么是代码,什么是错误,当然还有什么是实际问题。

Eurobetics 是正确的,这是因为 .sql 文件没有指定要使用的数据库。 没问题,您可以在新服务器上创建数据库并将文件导入其中。 由于您是通过 phpMyAdmin 导入的,因此首先使用左侧导航区域中的“新建”文本创建一个新数据库(您不需要在其中放置任何表格)。 创建数据库后,phpMyAdmin 会将您置于数据库结构页面。 (如果您在创建数据库后碰巧离开或返回,只需单击导航窗格中的现有数据库)。 查看顶行的选项卡并在此处使用“导入”选项卡(或将.sql 文件拖放到此处)。

在该数据库页面内告诉 phpMyAdmin 您要专门导入该数据库,而如果您在主页上,则“导入”按钮未附加到任何特定数据库,这会导致您的错误。

从技术上讲,您可以添加 SQL 命令来创建数据库并将数据库使用到 .sql 文件中,但在这种情况下,这似乎不需要它,只会为您做更多的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM