Многострочная вставка в SQL из текстового файла - PullRequest
0 голосов
/ 02 февраля 2010

У меня есть таблица с 3 столбцами, 2 из которых с автоинкрементом. У меня есть текстовый файл с различным содержанием, который я хотел бы вставить в 3-й столбец. В этом тексте значения разделены следующим образом:

«значение1», «значение2», «значение3», «и т. Д.»,

Как бы я вставил все эти значения в определенный столбец, имея возможность использовать вышеуказанный формат для моего исходного содержимого (или что-то подобное, что я мог бы сделать с помощью «заменить все»), возможно, с помощью одной команды в phpmyadmin?

Дайте мне знать, если мой вопрос не ясен!

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 04 февраля 2010

Используйте регулярное выражение для преобразования каждого значения в полный запрос вставки в отдельной строке:

INSERT INTO mytable (column3) VALUES ('value1')

Что-то вроде этого должно сделать это:

Match: "\([^"]*\)", 
Replace with: INSERT INTO mytable (column3) VALUES ('\1') \n
0 голосов
/ 02 февраля 2010

Во-первых, я бы по возможности получил текстовый файл в правильном формате, который был бы 1 столбцом с каждым значением в отдельной строке. В противном случае вам нужно сначала написать функцию для разделения данных на некоторый тип временной таблицы одного столбца, а затем вставить ее, присоединившись к таблице. Если текстовый файл имеет приемлемый формат, а не беспорядок с запятыми, вы можете напрямую вставить его в массовую операцию в большинстве баз данных.

...