English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés
Σ: 1 post

TCH  (statz) Főfasz
#1, Főfasz (10443)
2239 | #174e | ^ | Idézet | Tue, 25 Oct 2011 16:02:25 +02
46.107.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
Próbafeladat közben összeakadtam egy problémával, mégpedig, hogy ki kéne törölni a dupla bejegyzéseket egy kapcsolótáblából. Oké, hogy insert ignore on duplicate key, de a bibi az, hogy nem insertkor kerül bele a duplicate key, hanem updatekor, ugyanis akik kérték azt kérték, hogy a kategória törlésekor az oda kapcsolt bejegyzések kerüljenek át a default kategória alá és sajna ahogy nézem update nem tudja ugyanezt az ignore dolgot.
		@mysql_unbuffered_query('DELETE FROM cat WHERE id="'.$_GET["delid"].'"');
		@mysql_unbuffered_query('UPDATE cim_cat SET cat_id="0" WHERE cat_id="'.$_GET["delid"].'"');
Ennyi a kód, ami csinálja a duplikált sorokat. Értelemszerűen duplikáció akkor keletkezik, amikor a 0 alá is be van rendelve egy bejegyzés és törléskor a törölt kategória alatti bejegyzés átkerül oda. Szemléltetem:
Előtte:
cim_idcat_id
10
11
12
13
20
21
22


Aztán lefut ez a vacak mondjuk a 2-es kategóriára:
cim_idcat_id
10
11
10
13
20
21
20
Teccikérteni? Persze a megjelenítőnek mindegy, annak egyszeri szereplés elég, de nem akarok redundáns sorokat.
Találtam a neten egy megoldást (http://www.justin-cook.com/wp/2006/12/12/remove-duplicate-entries-rows-a-mysql-database-table/), ami alapján ezt hoztam ki:
function throwduplby($table, $field)
{
	@mysql_unbuffered_query('CREATE TABLE tmp AS SELECT DISTINCT * FROM '.$table);
	@mysql_unbuffered_query('DROP TABLE '.$table);
	@mysql_unbuffered_query('RENAME TABLE tmp TO '.$table);
}
Nekem ez azonban eléggé gánynak tűnik. Valami alternatív megoldás a duplikációk törlésére esetleg? Vagy esetleg teljesen másképp kéne megközelíteni már a törlést is?


English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés

Név: (max 255 byte)

Email: (max 255 byte) Nem kötelező!

Üzenet: (max 65536 kar.) 65536-0=65536




crap_vkn v4.34.0 by TCH
Thx to saxus for the escaped string decoder function (PHP), the realIP function (PHP) & the SQL handle layer (PHP), to thookerov for the int_divide function (PHP), to Jeff Anderson for the getSelText function (JS), to Alex King for the insertAtCursor function (JS), Flood3r for the new CSS styles, Pety for the spamprotection idea and some design and comfort ideas, MaxMind for the IP2Country database, famfamfam for the flags of countries and an unknown PHP programmer for the removeAccents function.



Kecskebaszók ide!