laravel лучший способ удалить дубликаты из таблицы - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть одна таблица, и я хочу удалить дубликаты в laravel, используя DB :: not eloquent

мои таблицы называются sale_details, а поля

id,orderId,shop,user,item,quantity,price,total

где orderId, shop, user, item уникальны

Я хочу удалить строки, в которых orderId, shop, user, item являются дубликатами, основываясь на этих 4 полях, а не на одном.

как мне сделать это наилучшим образом?

1 Ответ

2 голосов
/ 21 апреля 2020

Лучшим вариантом было бы добавить индекс к вашей таблице:

ALTER IGNORE TABLE sale_details ADD UNIQUE (orderId,shop,user,item);

В IGNORE сохраняется только первая найденная строка, а остальные удаляются. Вы должны оставить этот УНИКАЛЬНЫЙ, если вы не хотите, чтобы в будущем дубликаты, если нет, вы можете удалить его сразу после.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...