Pagina 1 din 1

identificarea linii identice dintr un tabel(o neclaritate )

Scris: Lun Ian 14, 2008 1:53 am
de mandriva2007

Scris: Lun Ian 14, 2008 2:13 am
de gabysolomon

da

Scris: Lun Ian 14, 2008 11:06 pm
de mandriva2007

Scris: Mar Ian 15, 2008 3:03 am
de whooper
daca sunt toate informatiile identice nu poate sa le stearga :) pur si simplu ca baza de date nu stie pe care dintre ele sa o lase acolo .. Orice ai pune in clauza WHERE, conditiile de cautare sunt identice si valabile pentru ambele linii duplicat.

Poti sa copiezi tabela intr-o alta tabela noua adaugand un camp (id - autoincrement), dupa care rulezi un filtru sa-ti zica care anume linii ai informatie duplicat si doar ID-uri diferite. Abia atunci selectezi o linie care ramane si stergi liniile duplicat unde id-ul difera de cel selectat.

Scris: Mar Ian 15, 2008 9:24 am
de mihaitha
Nu stiu daca merge la fel in Pg, dar in MySQL o faci asa:
[php]<?
$q = mysql_query('SELECT nume, suma, regiune, COUNT(*) as count FROM tabela GROUP BY nume, suma, regiune');
while ($r = mysql_fetch_object($q))
mysql_query('DELETE FROM tabela WHERE nume = \'' . $r->nume . '\' AND suma = \'' . $r->suma . '\' AND regiune = \'' . $r->regiune . '\' LIMIT ' . ($r->count - 1));
?>[/php]
Cred ca o poti porta linistit in PG cu aceleasi sintaxe, numai nu stiu cum se comporta PG la GROUP BY. Anyway, fa un backup la tabela inainte, de siguranta. Sporuri.

Scris: Mie Ian 16, 2008 11:52 am
de Praetor

raspuns

Scris: Sâm Ian 19, 2008 12:38 am
de mandriva2007
multumesc oricum .merge si in pg.da e vorba de niste key pe tabela ,constrainturi,dar a mniste probleme cu ele.era simplu cu vi editorul din linux.le exportam alea in alt fiser le stergeam pe alea duplicate din tabela si dupa ia o comanda de unloud from fisierumeu.txt to cu vi editorul si le importam din nou in tabel de data asta era uimportat daor campul acela care se repeta.mersi inca odata si numai bine.

o intrebare banala dar vreau sa inteleg

Scris: Sâm Ian 19, 2008 1:14 am
de mandriva2007

Scris: Sâm Ian 19, 2008 9:30 am
de saitek
:lol: L-a pus din cauza "concatonarii"...
mysql_query('DELETE FROM `tabela` WHERE `nume` = "' . $r->nume . '" AND `suma` = "' . $r->suma . '" AND `regiune` = "' . $r->regiune . '" LIMIT ' . ($r->count - 1));

adica acel \,face ca practic php sa ignore acel caracter.

mersi mult

Scris: Dum Ian 20, 2008 2:32 pm
de mandriva2007
e ca si cum acolo as avea un comentariu care nue compilat.

Scris: Dum Ian 20, 2008 2:49 pm
de dechim