powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Отслеживание уникальных полей
5 сообщений из 5, страница 1 из 1
Отслеживание уникальных полей
    #38407784
Ринат Абый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вечер добрый. Ломаю голову над одной задачей. Суть вот в чем. Есть записи, может быть несколько тысяч. Есть поле id (auto_incriment, primary key), и есть еще 5-6 полей. Среди них три поля определяют уникальность записи. Мне нужно все их добавить в базу, но как то отметить, что например 223 и 119 поля - между собой одинаковые (то есть значение по тем трем полям совпали) и т.д, может быть что и три и четыре записи между собой одинаковые. И задача как бы стоит в том чтобы либо добавить еще одно поле и как то вписывать туда id записи первого уникума( Например 111 , 235 и 1022 строка одинаковые, вот в 235 строке и 1022 в колонку parent_id например вписать id 111 строки), чтобы я потом уже запросом из php смог идентифицировать их все и вытаскивать как мне нужно. Весь массив данных на вставку я готовлю на стороне PHP и вставляю одним INSERT, так как объем большой и получается быстро. Возможно ли без участия серверного языка дальше разрулить фиксацию нарушения уникальных записей. Может как то триггерами это делается? Вначале хотел INSERT ON DUPLICATE KEY UPDATE, но мне не нужна замена дубликатов, нужна вставка всех значений. Буду рад любым советам, Основное требование-быстрота, если после вставки перебирать все на PHP, то я это и сам сделаю, это не вариант. Спасибо!
...
Рейтинг: 0 / 0
Отслеживание уникальных полей
    #38407825
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так? sqlfiddle.com/#!2/e2513/6
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
update myTable t
join(
  select min(id)id,a,b,c
  from myTable t
  group by a,b,c
  having count(*)>1
  )m on m.a=t.a and m.b=t.b and m.c=t.c
    -- and m.id<t.id
set t.d=m.id;
...
Рейтинг: 0 / 0
Отслеживание уникальных полей
    #38407838
Ринат Абый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ссылка не открылась, а по поводу апдейта? мне нужен INSERT, и откуда выбирать если данные еще не добавились
...
Рейтинг: 0 / 0
Отслеживание уникальных полей
    #38408021
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одним инсертом требуемого не сделать, ятд
SQLFIDLE иногда отваливается, но потом обычно восстанавливается :) Сейчас работает...
...
Рейтинг: 0 / 0
Отслеживание уникальных полей
    #38408731
Ринат Абый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проставил индексы в таблицу, попробовал-быстро))) Спасибо большое Вам, начну активно тестировать, если появятся идеи или вопросы отпишу здесь же!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Отслеживание уникальных полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]