Jump to content
  • 0

LOAD DATA INFILE ...


malanka
 Share

Question

Как загрузить данные с помощью LOAD DATA INFILE я знаю, а вот возможно ли как то обновить данные в БД данными из файла используя WHERE, а не первичный ключ. Я знаю что он обновит всю строку если встретит одинаковый id, а если в файле id не указан и нужно заменить не всю строку а только один или два столбца.

Точне:

в таблице БД есть 15 столбцов, а в файле 4 - из тех столбцов которые в файле нужно использовать один столбец для нахождения строки для изменения, а остальные для замены данных встроке, при этом, что бы остальные столбцы таблицы не были затронуты. Возможно ли такое? Подскажите пожалуйста

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

К сожелению это я знала, просто надеялась вдруг есть что то, что я пропустила...(

REPLACE мне не подходит так как я сравниваю сторки не по одному уникальному полю а по двум сочитание только вместе двух колонок не совпадает, а PRIMARY KEY на момент замены мне не известно и находить его очень проблемотично в таблице с несколько милионов записями, да полная замена строки мне тоже не подходит - я и так могла удалить эти поля...

Link to comment
Share on other sites

  • 0

Имхо, можно сделать LOAD DATA INFILE во временную таблицу, а потом сделать что-то вроде

UPDATE table INNER JOIN tmp_table ON table.field1 = tmp_table.field1
SET table.field2 = tmp_table.field2, table.field3 = tmp_table.field3, table.field4 = tmp_table.field4

(за точность синтаксиса не ручаюсь, но апдейт с джойном точно есть, общий смысл примерно такой)...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy