Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Чистка БД от задвоек   Найти похожие ветки 

 
Kley   (2007-09-12 21:23) [0]

Здравствуйте
подскажите плиз как найти в БД
задвоенные записи и потом удалить одну из задвоек
т.е. почистить БД от задвоенных записей
delphi+Tps через ODBC драйвер


 
MsGuns ©   (2007-09-12 21:53) [1]

;)


 
Desdechado ©   (2007-09-12 22:08) [2]

Делаем копию структуры таблицы и потом
INSERT INTO newtbl SELECT DISTINCT * FROM oldtbl
Удаляем старую таблицу, переименовываем новую.


 
Anatoly Podgoretsky ©   (2007-09-12 22:49) [3]

> Desdechado  (12.09.2007 22:08:02)  [2]

А если учесть внешние и первичные ключи, то вешаемся.


 
DrPass ©   (2007-09-12 23:14) [4]

Сперва следует посмотреть, что задвоилось - select bebebe, count(*) from zuzuzu group by bebebe having count(*) > 1, и потом уже думать, как с ними проще расправиться


 
Юрий Зотов ©   (2007-09-13 09:23) [5]

Эва... а как же так БД была сделана, что дубли не допускаются, но требования уникальности не были наложены?


 
Desdechado ©   (2007-09-13 10:40) [6]

> А если учесть внешние и первичные ключи, то вешаемся.
Их можно временно отключить/удалить, а потом восстановить.
Но есть большие сомнения, что в БД с таким мусором есть хоть какие-то ключи.

Юрий Зотов ©   (13.09.07 09:23) [5]
Видимо, требования появились позже, после осознания появления дублей.

DrPass ©   (12.09.07 23:14) [4]
Это попольно. Но уникальность может требоваться на комбинацию полей или на всю строку.


 
Anatoly Podgoretsky ©   (2007-09-13 11:01) [7]

> Desdechado  (13.09.2007 10:40:06)  [6]

Что восстанавливать, это же задача не механическая, а интеллектуальная, только автор знает как значения одного поля влияют на значение в других таблицах, связи то могут быть и не явными и явными и автоинкриментными и далее. При создании новой таблицы и замены ее старой - при автоинкрименте можно выкидывать базу.


 
Ega23 ©   (2007-09-13 11:08) [8]

Я бы всё скриптами на SQL делал

А вообще разработчику такой БД нехило было бы ознакомиться с понятиями "Нормальная форма" с первой по четвёртую включительно.


 
DrPass ©   (2007-09-13 11:51) [9]


> Desdechado ©   (13.09.07 10:40) [6]


> Это попольно. Но уникальность может требоваться на комбинацию
> полей или на всю строку

А какая разница. Ну, укажет человек в запросе вместо одного поля несколько...


 
zdm77   (2007-09-13 18:11) [10]

погодите. АП нужно определится изначально вроде как с тем, что считать задвоенными полями. Иванов и ИВАНОВ или ИвАнОв - это один и тот-же чел? Что в БД небыл предусмотрен признак уникальности? ну ИНН, паспортные данные или другой признак? Если так, то - вешалка. Запустить редактор, открыть таблицу, и методом (с учетом человеческого фактора) пройти по полям и удалить, которые по мнению АП являются задвоенными. Если есть ключи, то удалить сначала значения из ключуемых таблиц.... в общем гемор одназначно.


 
Бакук ©   (2007-09-14 09:09) [11]

http://www.sql.ru/faq/faq_topic.aspx?fid=711



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
2-1189796974
AlRal
2007-09-14 23:09
2007.10.14
Поставить один GroupBox над другим


2-1190177947
zzzz
2007-09-19 08:59
2007.10.14
Проблема с компонентами ehLib


2-1190354881
em240
2007-09-21 10:08
2007.10.14
indy+ping


1-1185729009
SkySpeed
2007-07-29 21:10
2007.10.14
Как можно определить Интернет-ссылки, к которым обращается пр-ма?


1-1185860622
mefodiy
2007-07-31 09:43
2007.10.14
Удалени столбцов Excel по числовым адерсам ячеек