无法将现有 sql 文件导入空数据库:db_name.table_name 不存在

can't import existing sql file to an empty database: db_name.table_name doesn't exist

我正在尝试使用以下命令将现有数据库文件导入空 SQL 数据库:

mysql -u username -p'password' db_name < dbfile.sql

但我得到以下错误:

第 1 行的错误 1146 (42S02):Table 'db_name.oc_address' 不存在

我知道 oc_address 是 SQL 文件中的一个 table 名称,但我不知道如何正确导入它,我在网上搜索了堆栈溢出,未发现此错误。

要导出整个数据库然后将其加载到另一台服务器,最好的办法是使用 mysqldump command line utility。它的导出文件包含数据库和数据的数据定义语言(表、视图等)。

您也可以让它只导出定义。

mysqldump --no-data -u username -p'password' db_name > opencartddl.sql

然后您可以先导入该文件,然后再导入您的数据文件。

或者,您可以建立一个新的空 Opencart 实例并使用其 UI 导入您的数据。

如果您可以使用像 mysqldump 这样的工具来编写替代 DDL,那么避免尝试自己编写替换 DDL 可能是明智的。

  • 下载实际的 opencart zip 文件

https://www.opencart.com/index.php?route=cms/download/download&download_id=62

  • 解压

  • 打开文件夹

\upload\install

  • 运行 opencart.sql

如果您安装了需要自己 sql 的扩展,您还必须 运行 sql

  • 之后运行你备份文件