sách gpt4 ăn đã đi

mysql - 将 CSV 移动到 MySQL 关系数据库的第一步。 CSV 结构!= MySQL 结构

In lại Tác giả: Walker 123 更新时间:2023-11-29 12:05:58 27 4
mua khóa gpt4 giày nike

我有一个采用以下格式的 CSV:

Module, Topic, Sub-topic

它需要能够导入到具有以下格式的 MySQL 数据库中:

CREATE TABLE `modules` (
`id` varchar(4) NOT NULL,
`name` varchar(20) NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `topics` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`module` varchar(30) NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `module_ref_idx` (`module`),
CONSTRAINT `module` FOREIGN KEY (`module`) REFERENCES `modules` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=648 DEFAULT CHARSET=latin1;

CREATE TABLE `subtopics` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`topic` int(3) NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `topic_idx` (`topic`),
CONSTRAINT `topic` FOREIGN KEY (`topic`) REFERENCES `topics` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;

我知道我能够将 CSV 文件中的数据插入 MySQL 并保持数据完整性,但我不确定如何操作。 CSV 中的数据需要放入每个表的“名称”字段中,同时保持数据关系完整。

我现在正在 Workbench 中玩,但无法正确操作。

Cảm ơn trước.

câu trả lời hay nhất

创建一个表来加载 csv(也可以使用临时表)

CREATE TABLE `tmp_subtopics` (
`module` VARCHAR(50) NULL,
`topic` VARCHAR(50) NULL,
`subtopic` VARCHAR(50) NULL
)

加载 csv(您可能需要额外的编码、字段名称等选项)

 LOAD DATA INFILE 'file.csv' INTO TABLE tmp_subtopics

插入模块

 INSERT IGNORE INTO modules (name)
SELECT DISTINCT module FROM tmp_subtopics

插入主题

INSERT IGNORE INTO topics (name,module)
SELECT DISTINCT
tmp.topic,
m.id
FROM tmp_subtopics tmp
JOIN modules m ON m.name = tmp.module

插入子主题

INSERT INTO subtopics (name,topic)
LỰA CHỌN
tmp.subtopic,
t.id
FROM tmp_subtopics tmp
JOIN topics t ON t.name = tmp.topic

另外:

UNIQUE KEY id (id) 是多余的,您应该将其删除。

chủ đề 表中的 module 字段应该是 INT thay vì VARCHAR

关于mysql - 将 CSV 移动到 MySQL 关系数据库的第一步。 CSV 结构!= MySQL 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31476242/

27 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress