Mailinglisten-Archive |
Thomas Wolf wrote: > hallo liste > es ist mal wieder soweit das wir unser system umstellen und in diesem zuge > möchte ich die gesamte struktur bereinigen. > mein prob ist das ich zwei tabellen habe mit content und dazu eine > membership tabellen > in den content tabelen habe ich eine spalte namens memberid welche auf die > membership tabel spalte id verweist. > jedoch nach mehreren umstellungen sind einige member gelöscht worden und so > fehlen die bezüge dazu. > jetzt möchte habe ich einen sammelmember angelegt und diesen sämtlichen > content zuweisen. > kann mir da jemand einen denkanstoss geben? na den sammelmember anlegen alle datensätze in cntent suchen die keinen existierenden member mehr in der meber-tabelle haben und diesen die id von deinem sammel-meber geben was du dazu brauchst ist nen LEFT JOIN und ne prüfung auf NULL http://www.mysql.com/doc/en/Problems_with_NULL.html ab MySQL 4.0.4 geht das alles in einem query http://www.mysql.com/doc/en/UPDATE.html#IDX1448 *ungeprüft* UPDATE content LEFT JOIN member ON content.member_id = member.id SET content.member_id = [sammel_member_id] WHERE member.id IS NULL für ältere versionen brauchst du zwei erst alle ID's der verweißten 'content'-datensätze suchen und bei diesen dann im zweiten query die meber-id aktualisieren *ungeprüft* SELECT content.id FROM content LEFT JOIN member ON content.member_id = member.id WHERE member.id IS NULL *ungeprüft* UPDATE content SET content.member_id = [sammel_member_id] WHERE content.id IN ([ids_aus_vorigem_query]) -- Sebastian Mendel www.sebastianmendel.de www.tekkno4u.de www.nofetish.com -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive