Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Получать все данные из таблицы не хочется т.к. на данном этапе там уже ~10к записей, а будет еще больше.
Потому и есть нужда вставлять только уникальные.
Почитал инфу по INSERT IGONRE
Пишут:
Благодарю за помощь, попробую тот сторонний пакет.
Добрый день уважаемые форумчане!
Коротко о системе:
laravel: 5.5
PHP: 7.0
Модуль: Apache-PHP-7
БД: MySql-5.7
ОС: Windows/Linux (тестовый/боевой)
Задача такая.
Подгружается прайс с тысячами позиций, которые необходимо забить в БД, артикул является уникальным ключем.
При первом проходе файла (уникальных артикулов) все проходит хорошо, но дело в том, что данные могут из файла в файл (временами)
повторяться.
Задача заключается в том, что бы не делать тысячи запросов к БД, а одним запросом записать только уникальные данные из массива.
При обычной вставке типа
Goods::insert($dbArr);
будет возвращена ошибка т.к. некоторые ключи могут быть не уникальны.
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '111120150182' for key 'goods_article_unique' (SQL: insert into `goods` (`article`,`collection`, `description`, `imageN`, `name`, `price`, `size`) values (************))
Помогите пожалуйста решить данную задачу.