|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
помогите чайнику с запросом на удаление повторных записей в таблице, поля: varchar(20), varchar(20), date , time, tinyint(3), bigint(15), enum('0','1') Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2004, 17:35 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
например, так Код: plaintext
________________ С уважением, Alex Pretov ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2004, 18:11 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
т.е. создать временную таблицу tbl2 в нее влить результат по distinct из tbl1, затем убить все записи в tbl1 и влить из tbl2? ... а как насчет блокировок, транзакций и т.д., может кто поделится рабочим примером. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2004, 18:52 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
tpocp... а как насчет блокировок, транзакций и т.д., может кто поделится рабочим примером. а как насчет описывать сразу ограничения? Описать нормально задачу? Если стоит вопрос недопущения ввода дубликатов в таблицу это одно, если получения набора недублирующих записей, так это другое. ________________ С уважением, Alex Pretov ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2004, 20:11 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
посыпаю голову пеплом... повторюсь: я дилетант пытаюсь написать функцию которая будет раз в сутки грохать дупликаты в таблице... у меня получилось следующее: $query1="create table table2 as select distinct fld1, fld2,... from table1"; $sth= $dbh->prepare($query1) or die(); $sth->execute () or die(); $sth->finish; $query2="delete from table1"; $sth= $dbh->prepare($query2) or die(); $sth->execute () or die(); $sth->finish; $query3="INSERT INTO table1 (fld1, fld2,...) select fld1, fld2,...from table2"; $sth= $dbh->prepare($query3) or die(); $sth->execute () or die(); $sth->finish; $query4="drop table table2"; $sth= $dbh->prepare($query4) or die(); $sth->execute () or die(); $sth->finish; $dbh->disconnect; Вот и боюсь, что отвалится сервак в самый неподходящий момент... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2004, 20:26 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
Т.е. стоит первая задача -- недопущения ввода в таблицу дубликатов? И дубликат определяется по всем 7 полям? Не проще ли перенести это на приложение -- при вставке проверять существует-ли подобная запись и уже вставлять. Или можно задачу свести к уникальному полю, который объявить PRIMARY KEY? ________________ С уважением, Alex Pretov ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2004, 20:46 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
авторТ.е. стоит первая задача -- недопущения ввода в таблицу дубликатов? И дубликат определяется по всем 7 полям? Не проще ли перенести это на приложение -- при вставке проверять существует-ли подобная запись и уже вставлять. Или можно задачу свести к уникальному полю, который объявить PRIMARY KEY? отчасти согласен... но при в вставке генерятся значения полей, и вот по ним нужно и проверять дубликаты... потом... ночью например... и грохать. PRIMARY KEY - не подходит... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2004, 21:04 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 08:08 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
Благодарю за ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 10:30 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
введем в таблицу еще одно поле new_fld и дадим ему значение по умолчанию 0. тогда твой скрипт обработки примет вид: Код: plaintext 1.
________________ С уважением, Alex Pretov ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 10:32 |
|
Delete Duplicate Records
|
|||
---|---|---|---|
#18+
Это сработает в версиях не раньше 4.0.14 Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2004, 10:51 |
|
|
start [/forum/topic.php?fid=47&fpage=688&tid=1855244]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 117ms |
0 / 0 |