Как выгрузить все поля, из-за которых при добавлении строки может выдавать ошибку из-за уникальности данных?
Есть таблица на 10 колонок. На 7 колонок стоит уникальный ключ, и если стараться добавить какую то строку, и вдруг она не проходит по уникальности - выдает ошибку из за уникального ключа. Нужно выгрузить все записи из-за которых может выдавать ошибку по уникальности. Не могу придумать, как это сделать, нужна помощь)
пример (из головы) есть колонки
категория, подкатегория, под-подкатегория, действие которое надо сделать
И в таблице уже заданы для какой то записи значения, например такие:
категория: 1, подкатегория: 2: под-подкатегория: 5, действие которое надо сделать: 2
Стоит уникальный ключ на первые три колонки. Если мы захотим добавить тоже для под-подкатегории 5 что либо с другим "действием которое надо сделать" (например с цифрой не 2, а 3 уже), то нам выбьется ошибка, по скольку уникальный ключ на первые три колонки стоит. Вот, и нужно выгрузить все записи которые мешают добавить запись
Кирилл, пример: есть колонки
категория, подкатегория, под-подкатегория, действие которое надо сделать
И в таблице уже заданы для какой то записи значения, например такие:
категория: 1, подкатегория: 2: под-подкатегория: 5, действие которое надо сделать: 2
Стоит уникальный ключ на первые три колонки. Если мы захотим добавить тоже для под-подкатегории 5 что либо с другим "действием которое надо сделать", то нам выбьется ошибка. Вот, и нужно выгрузить все записи которые мешают добавить запись
Чем больше знаю, тем лучше понимаю, как мало знаю.
Проверить, существует ли запись с аналогичным набором полей?
SELECT * FROM `table` WHERE `категория`='1' AND `подкатегория`='2' AND `под-подкатегория`='5'
Результатом этого запроса и будет одна запись, "мешающая" добавить новую запись.
Если дублирующую запись обязательно нужно добавить - расширяйте размер уникального индекса, добавляйте в него столбец `действие`. Или в новой записи меняйте `подкатегорию`/`под-подкатегорию`.