Как проверить дубликаты и загрузить новые данные, когда я использую PHP для загрузки файла CSV в базу данных MySQL

У меня есть файл CSV, который имеет десять столбцов:

ID, fromDate, endDate, адрес, цена1, цена2, столбец1, столбец2, столбец3, столбец4

но я просто хочу вставить первые шесть столбцов в базу данных MySQL, и самое главное, если в базе данных есть кортеж, что атрибут (ID, fromDate, endDate, address) одинаков, мы определили, что две строки идентифицировать.

например:
в базе данных существует кортеж:

(1000, 2014-11-21, 2014-11-23, Нью-Йорк, 100, 200)

и теперь в файле CSV существует строка:

(1000, 2014-11-21, 2014-11-23, Нью-Йорк, 150, 250)

Мы определили, что два кортежа одинаковы. Поэтому теперь мы должны обновить данные в базе данных новыми данными в файле CSV.

что означает, удалить кортеж

(1000, 2014-11-21, 2014-11-23, Нью-Йорк, 100, 200)

и вставьте новый кортеж:

(1000, 2014-11-21, 2014-11-23, Нью-Йорк, 150, 250)

Как это сделать?

как проверить наличие дубликата при вставке данных из CSV в базу данных и после того, как найдена повторяющаяся строка, как заменить ее?

0

Решение

Вы могли бы использовать конкретные MySQL замещать

REPLACE работает точно так же, как INSERT, за исключением того, что если старая строка в
таблица имеет то же значение, что и новая строка для PRIMARY KEY или UNIQUE
Индекс, старая строка удаляется перед вставкой новой строки.

Или же Вставить на дубликат, но при таком подходе вы должны перечислить все свои поля.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]