seregali
@seregali

MySql: LOAD DATA INFILE. Как сохранить существующие значение в базе?

Что есть:
Сайт для передачи показаний воды, и просмотра текущей задолженности.
В базе данных имеется более 100,000 лицевых счетов.

На чем сделан сайт:
PHP, MySQL

Как происходит процесс обновления задолженностей:
Создаете файл в формате txt, в нем есть необходимые поля, ключевое поле это номер счета.
Разделение идет через ';'.
Этот файл загружает в базу все лиц. счета с необходимой информацией.

Сам запрос:
$query = "LOAD DATA INFILE '".$filename."' REPLACE INTO TABLE `account` FIELDS TERMINATED BY ';' (`id`,`lastname`,`street`,`house`,`housing`,`apartment`,`debt`,`balans`)";


Всю отлично записывается, проблем с этим нет.

Моя проблема:
Когда пользователь после прохождения регистрации привязывает лиц. счет к своему аккаунту, происходит следующее.
Мы берем номер лиц. счета находим в базе, смотрим привязан ли к нему пользователь.
Если не привязан, то привязываем текущего пользователя. (есть поле userId)

И когда через месяц подходит время обновления данных о задолженности. Мы так же записываем в базу данные через LOAD DATA INFILE.
Данные обновляются, но поле userId становится пустым.

Это и есть моя проблема. Я читал, искал, пробовал. Но не смог реализовать обновление только нужных мне полей. Нужно учесть что лицевых счетов более 100,000.
  • Вопрос задан
  • 772 просмотра
Решения вопроса 1
VladimirAndreev
@VladimirAndreev
php web dev
хранить связку id и user_id отдельно...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы