Я ищу, чтобы вставить данные в таблицу на основе поиска внешнего ключа из локального файла данных, но я не уверен в синтаксисе.У меня есть список слов:
jamba
fire
street
road
в файле, который я хотел бы вставить в таблицу, используя
LOAD DATA LOCAL INFILE '$PATH'
INTO TABLE b1
FIELDS TERMINATED BY '\n'
(SELECT id FROM dictionary
WHERE dictionary.word='word-from-file');
Чтобы лучше описать проект: я пытаюсь создатьтаблица внешних ключей из словаря для размещения книги, например, использование номера словарной статьи вместо слов для заказа книги.
То есть: предложение The quick brown fox jumped over the lazy dog
в таблице будет 1024 891 26 51 75 521 1024 762 1024 641 45
(полностью догадываясь), но где каждое число является идентификатором для слова в словаре.
Первая таблица будет словарем:
Field Type
id word
word varchar(128)
Вторая таблица будет книгой,b1:
Field Type
pos int #Position of the word, essentially an id
wid int #A foreign key corresponding to a dictionary.word
Чувствительность к регистру имеет значение.Не делайте и не делайте это два разных слова.
По сути, я пытаюсь выполнить действие, описанное в этом ответе SO от @revo: Вставить mysql в id внешнего ключа php , но используяполя в локальном файле данных вместо отдельной таблицы.
Примечание. Чувствительность к регистру имеет значение!Я определил поле словарного слова на основе
CHARACTER SET utf8 COLLATE utf8_bin