我正在尝试从我从古腾堡项目中得到的词库文本文件创建一个 mysql 表;但是,我在做这件事时遇到了一些问题。我能够编写以下脚本,该脚本成功地创建了包含信息的表:
LOAD DATA LOCAL INFILE 'C:/mthesaur.txt'
INTO TABLE thesaurus_entries
COLUMNS
TERMINATED BY ','
LINES
TERMINATED BY '\r\n'
在文本文件中,第一个词是同义词词条,后面是它的所有同义词,用逗号分隔。每个条目由换行符分隔。
我的问题是我最初打算只使用一个包含大量列的表,但我不知道如何轻松地为同义词制作 100 多列。我试过这样做:
DELIMITER $$
CREATE PROCEDURE ABC()
BEGIN
DECLARE a INT Default 0 ;
simple_loop: LOOP
SET a=a+1;
ALTER TABLE `thesaurus`.`thesaurus_entries` ADD COLUMN a
VARCHAR(60) NULL AFTER `thesaurus_entries_id` ;
IF a=100 THEN
LEAVE simple_loop;
END IF;
END LOOP simple_loop;
END $$
但所做的只是添加一个名为“a”的列,而不是添加 100 个名为“1、2、3 等”的列。
如果将表作为键值对很容易(每个单词的同义词都有单独的表),我愿意走这条路,但我无法从 txt 文件中弄清楚如何做到这一点。
谢谢您的帮助!