SQL 新手只是试图导入 SQL 转储以在 python 中使用,不断收到“缺少数据库”和“缺少列”错误
Posted
技术标签:
【中文标题】SQL 新手只是试图导入 SQL 转储以在 python 中使用,不断收到“缺少数据库”和“缺少列”错误【英文标题】:SQL newbie just trying to import an SQL dump to work with in python, keep getting "missing database" and "missing column" errors 【发布时间】:2020-09-05 23:36:01 【问题描述】:有人告诉我这是来自 MariaDB 数据库的转储。该文件如下所示:
-- --------------------------------------------------------
-- Host: X
-- Server version: X
-- Server OS: X
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-- Dumping data for table table.mctable: ~42.420 rows (approximately)
/*!40000 ALTER TABLE `mctable` DISABLE KEYS */;
INSERT INTO `mctable` (`created`, `dev`, `no`, `lbl`) VALUES
('string', 42, 42, 'string'),
.
.
.
/*!40000 ALTER TABLE `mctable` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
是因为这个文件缺少什么吗?有什么方法可以将值导入数据框或其他东西吗?在我使用它们时,我真的不需要将它们存储在数据库中。
【问题讨论】:
【参考方案1】:Shared Dump 缺少表架构,如果要将其导入远程数据库,则需要先创建数据库和表架构。
CREATE DATABASE Billing;
CREATE TABLE Customer (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL
)
【讨论】:
以上是关于SQL 新手只是试图导入 SQL 转储以在 python 中使用,不断收到“缺少数据库”和“缺少列”错误的主要内容,如果未能解决你的问题,请参考以下文章
制作 SQL Server 转储并将该转储导入另一个 SQL Server 的最佳(最简单)方法