вставить запись в базу или обновить существующую строку

216
16 июля 2018, 14:00

Прошу помощи, делаю импорт из csv в mysql. Написал импорт, но столкнулся с тем что будут обновлятся 3 таблицы постоянно и не знаю как правильно написать условие проверки на сущ. запись и обновление информации в ней и добавление новой.

 $mysqli->query("INSERT INTO testtabl (id, col_1, col_2, col_3) 
VALUES (NULL, '$mass[0]', '$mass[1]', '$mass[2]') ON DUPLICATE KEY UPDATE col_1=col_1");

Сразу заметил, что данные при каждом запуске скрипта добавляются в таблицу, когда указал для col_1 что уникальный index тогда при запуске если существует такая запись ничего не обновляется, если нет добавляется.

Собственно вопрос если в строке в одном из столбцов обновились данные, допустим в col_3 при запуске они у меня не обновляются, подскажите что не учёл или где ошибка.

Answer 1

Спасибо всем за советы. Решил всё по другому.

     $mysqli->query("REPLACE INTO testtabl (id, col_1, col_2, col_3) 
    VALUES (NULL, '$mass[0]', '$mass[1]', '$mass[2]')");
READ ALSO
Не корректный заголовок User-Agent

Не корректный заголовок User-Agent

Собрал слайдер, в котором есть условие проверки заголовка User-Agent и в зависимости мобильный это или нет отдавать нужную картинкуПочему на некоторых...

167
Как исправить ошибку в цикле foreach, PHP?

Как исправить ошибку в цикле foreach, PHP?

Хотя сайт работает нормально, в логах сервера регулярно появляется ошибка:

198
Сохранение изображения Google Static Maps API

Сохранение изображения Google Static Maps API

Как сохранить такое изображение себе на сервер?

203
Ошибка в подключении файла из другой папки

Ошибка в подключении файла из другой папки

произошла ошибка в подключении файлаВ папке с доменом (localhost) есть папка vid, в которой указаны компоненты сайта(components, views)

174