@tolikryg

Как сделать проверку на дубли в базе при добавлении сразу в двух столбцах?

Привет умельцы, есть кто сможет подсказать примером как не допустить добавления одного и того же в базу как на изображении:
5f6758cb4a512100644100.png

На фото видно, что я добавил дважды одно и то же, тоесть не должно быть повторений сразу в двух столбцах, как избежать или проверить наличии перед добавление без лишнего кода?
  • Вопрос задан
  • 31 просмотр
Решения вопроса 1
felony13twelve
@felony13twelve
Проверить существует ли данная запись в базе num_rows

$res = $mysqli->query('SELECT * FROM users WHERE collection_id = "' . $collection . '" AND id_product = ' . $product);
if($res->num_rows > 0) {
 // Есть
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@infolex
1) Удалить все дубли
2) Создать уникальный составной индекс:
ALTER TABLE `users` ADD UNIQUE( `collection_id`, `id_product`);

3) Вставлять так:
INSERT IGNORE INTO  `users` SET  `collection_id` = ?, `id_product` = ?;

или так (обновлять поле даты вставки на текущую например):
INSERT INTO  `users` SET  `collection_id` = ?, `id_product` = ?
ON DUPLICATE KEY UPDATE `date` = UNIX_TIMESTAMP();
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 100 000 до 160 000 ₽
Сбер Москва
До 240 000 ₽
от 80 000 до 120 000 ₽
23 окт. 2020, в 05:33
15000 руб./за проект
23 окт. 2020, в 03:00
1500 руб./за проект