Я очень новичок в PostgreSQL. На самом деле я использовал MySQL раньше, но по какой-то конкретной конкретной причине мне нужно использовать postgreSQL и сделать POC.MySQL LOAD DATA INFILE с PostgreSQL COPY FROM command
Теперь проблема заключается в следующем: Я использовал команду MySQL LOAD DATA INFILE для загрузки содержимого столбца из файла в мою таблицу базы данных.
Моя структура таблицы: Имя таблицы: MSISDN столбцов таблицы Имена: ID (первичный ключ - auto_generated), JOB_ID, MSISDN, РЕГИОН, СТАТУС
Но мой входной текстовый файл (rawBase.txt) оказывает только ниже столбцов: MSISDN, REGION
поэтому я использовал команду ниже, чтобы загрузить эти выше столбцы с начальным JOB_ID и STATUS.
LOAD DATA INFILE 'D:\\project\\rawBase.txt' INTO TABLE MSISDN
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(MSISDN,REGION)
SET JOB_ID = 'XYZ1374147779999', STATUS = 0;
, как вы можете видеть, что есть в наличии НАГРУЗКИ команды DATA INFILE вариант, где я могу установить конкретное начальное значение для столбцов, которые не присутствуют (JOB_ID и STATUS) во входном текстовом файле.
ТЕПЕРЬ,
в случае PostGreSQL, я хочу то же самое должно произойти.
Существует также такая же команда, доступная COPY FROM , как показано ниже:
COPY MSISDN FROM 'D:\\project\\rawBase.txt' WITH DELIMITER AS ','
, но я не в состоянии установить конкретное начальное значение для остальных столбцов, которые не присутствуют (JOB_ID и STATUS) в моем текстовом файле ввода. Я не получаю никакого плодотворного примера этого.
Пожалуйста, приведите предложение, если это возможно.
С уважением, Sandy
Можете ли вы загрузить данные во временную таблицу и скопировать ее из временной таблицы в реальную с помощью «INSERT ... SELECT ...»? –
lgor .. Спасибо за комментарий, но поскольку копия файла для очень большой записи, поэтому использование временной таблицы будет трудоемкой задачей. – Sandy