Werbung:
Ergebnis 1 bis 10 von 10
  1. darKSidE002

    *bitte löschen*

    *bitte löschen*
    Geändert von darKSidE002 (27.02.2012 um 02:54 Uhr)

  2. Registrieren, damit diese Werbung verschwindet.

  3. Beiträge
    77
    Registriert seit
    11.08.2005
    Ort
    nähe Hamburg
    Alter
    35
    Benutzer

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Hallo.

    Ich habe solche kleinere Änderungen meist wie folgt gelöst:
    - DB herunterladen via z.B. phpMyAdmin
    - DB mit Notepad öffnen
    - Strg+H (für Ersetzen)
    - Obere Zeile alten Text - untere neuer Text
    - DB wieder hochladen

    Wenn es nicht direkt an einem Live System geändert werden soll, so finde ich diese Methode die Sicherste. Gibt aber bestimmt noch andere.
    Mit freundlichem Gruß
    Christoph Thiemann


  4. Beiträge
    374
    Registriert seit
    30.10.2007

    mgw-media.de - web s...

    Eingetragener Provider

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Viel zu umständlich...

    Code:
    UPDATE `table` 
    SET `column` = REPLACE(`column`, '1.de', '2.de') 
    WHERE `cloumn` LIKE '%1.de%';
    Zu deutsch:
    Alle Zeilen, in denen "1.de" in der Spalte "column" vorkommt, wird in dieser Spalte "1.de" durch "2.de" ersetzt. Je nach gesetzten Fulltext Index und genereller Länge kann es unter Umständen etwas dauern.
    Geändert von Markus [mgw-media.de] (25.01.2012 um 18:24 Uhr)
    mgw-media.de - web solutions | Breiter Weg 40 | DE-98574 Schmalkalden
    Hotline: 0700 MGWMEDIA | Internet: www.mgw-media.de | E-Mail: mail@mgw-media.de


  5. Beiträge
    9
    Registriert seit
    25.02.2011
    Neuer Benutzer

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Nein das geht nicht mit SQL.
    Du musst das mit einem Skript machen z.b. php

    <?php

    $result = mysql_query ('SELECT * FROM table WHERE column LIKE "%1.de" ');

    while ( $res = mysql_fetch_assoc($result) ) {

    $text = str_replace ('1.de', '2.de', $res['column']);

    $result2 = mysql_query( 'UPDATE table SET column = "'.$text.'" WHERE id = '.$res['id'] );

    if ( !$result2 ) {
    $error .= 'Fehler bei ID: '.$res['id'].' SQL:';
    $error .= mysql_error();
    $error .= "\n";
    }
    }

    file_put_contents($error):
    ?>

    Hierbei musst Du natürlich id ersetzen durch einen UNIQUE Index.
    Gruß
    der Snooops

    EDIT: Parse error korrigiert.
    Geändert von Snooops (25.01.2012 um 18:34 Uhr)


  6. Beiträge
    9
    Registriert seit
    25.02.2011
    Neuer Benutzer

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Huch mein post ist verschwunden... also nochmal. Ich würde es mit PHP machen weil ich glaube das es mit SQL nicht geht. MySQL ist eine Datenbank kein Datenmanipulator :D
    <?php

    $result = mysql_query ('SELECT * FROM table WHERE column LIKE "%1.de" ');

    while ( $res = mysql_fetch_assoc($result) ) {

    $text = str_replace ('1.de', '2.de', $res['column']);

    $result2 = mysql_query( 'UPDATE table SET column = "'.$text.'" WHERE id = '.$res['id'] );

    if ( !$result2 ) {
    $error .= 'Fehler bei ID: '.$res['id'].' SQL:';
    $error .= mysql_error();
    $error .= "\n";
    }
    }

    file_put_contents($error):
    ?>


  7. Beiträge
    374
    Registriert seit
    30.10.2007

    mgw-media.de - web s...

    Eingetragener Provider

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Geht klar mit MySQL, und zwar so, wie ich es da oben beschrieben habe. Deine Lösung verursacht viel mehr Queries auf die eine einzige Datenbank, was den Server bei der Menge an Artikeln wohl schnell in die Knie zwingen kann.

    Dein Update-Query wird ziemlich schnell einen Fehler werfen, denn da fehlt zum einen ein Single Quot, und zum anderen wird das Query fehlschlagen, wenn im Text Quotes vorkommen. Die Variable $text sollte daher noch escaped werden, zum Beispiel mit addslashes().

    Edit: Im zweiten Post von dir ist das Single Quote nun da, das escape-Problem bleibt trotzdem.

    Escape:
    http://de2.php.net/manual/en/functio...ape-string.php

    Mit einem UPDATE oder INSERT machst du nichts anderes als Daten in der Datenbank zu manupulieren. Meine Lösung mit REPLACE macht nichts anderes.
    http://dev.mysql.com/doc/refman/5.1/...functions.html
    http://www.cix-blog.de/thm/MySQL-Rep...f-die-Schnelle
    Geändert von Markus [mgw-media.de] (25.01.2012 um 18:40 Uhr)
    mgw-media.de - web solutions | Breiter Weg 40 | DE-98574 Schmalkalden
    Hotline: 0700 MGWMEDIA | Internet: www.mgw-media.de | E-Mail: mail@mgw-media.de

  8. darKSidE002

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Ich hab die texte in den apexx-tabellen nun ganz einfach folgendermaßen ersetzt & verändert:

    UPDATE [tabellenname] SET [feldname]=REPLACE([feldname], "url1.de", "url2.de");

    URL1 sollte mit der URL2 ersetzt werden. feldname ist die text-tabelle und tabellenname lautet: apx_news

    Trotzdem danke, ging ruck zuck!


  9. Beiträge
    980
    Registriert seit
    28.11.2005
    Ort
    Wien

    Light-Gap.net

    Eingetragener Provider

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Ja ich glaube Du hast sogar die schnellste Variante gewählt .. denn ich glaube fast dass das WHERE `cloumn` LIKE '%1.de%'; mehr Zeit beansprucht als das "ersetzen" von nicht vorhandenen 1.de in den übrigen Zeilen ;)

    Keep it simple.
    Günther Leitgeb, Ing.
    Light-Gap.net Websolutions - http://www.light-gap.net
    Felsgasse 5/10 1110- Wien, Österreich


  10. Beiträge
    374
    Registriert seit
    30.10.2007

    mgw-media.de - web s...

    Eingetragener Provider

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Zitat Zitat von DjGL Beitrag anzeigen
    [...] denn ich glaube fast dass das WHERE `cloumn` LIKE '%1.de%'; mehr Zeit beansprucht als das "ersetzen" von nicht vorhandenen 1.de in den übrigen Zeilen ;)
    Damit könntest du Recht haben, da das Suchen mit Platzhaltern eine Volltextsuche darstellt.
    mgw-media.de - web solutions | Breiter Weg 40 | DE-98574 Schmalkalden
    Hotline: 0700 MGWMEDIA | Internet: www.mgw-media.de | E-Mail: mail@mgw-media.de


  11. Beiträge
    1.120
    Registriert seit
    14.06.2004
    Ort
    St. Augustin

    Bode Internetlösunge...

    Geprüfter Provider

    AW: Bestimmten Inhalt einer SQL Tabelle ersetzen

    Lustig wird es, wenn man serialisierte Arrays in der Datenbank hat (z.B. bei Wordpress). Wenn sich die Laenge der Domains aendert, kommt man um ein kleines Script nicht herum.
    M. Bode Internetlösungen | www.bocombo.de | Mumble-Sponsoring | kostenloses CMS-Hosting | Die Preise sind gemäß §19 Abs.1 UStG von der Umsatzsteuer befreit. Angebote sind unverbindlich und gelten maximal 10 Tage ab Postingdatum.

 

Ähnliche Themen

  1. DB Confixx -> Tabelle Backup -> Spalte DST weiss einer wozu gut?
    Von confixx_Hotzi im Forum 3.x Allgemein
    Antworten: 0
    Letzter Beitrag: 18.04.2008, 11:51
  2. Antworten: 0
    Letzter Beitrag: 29.03.2008, 15:04
  3. MySQL Synchronisation einer Tabelle
    Von SllnD im Forum Webserver (Software): Linux, Unix, etc.
    Antworten: 6
    Letzter Beitrag: 16.03.2006, 15:24
  4. mySQL: Lineares Abarbeiten einer Tabelle
    Von telefoni im Forum Script Serverseitig
    Antworten: 5
    Letzter Beitrag: 01.10.2005, 14:56
  5. Seltsames Problem mit IE & einer Tabelle
    Von dus-web im Forum Webdesign
    Antworten: 3
    Letzter Beitrag: 08.05.2005, 19:02

Stichworte


Content Relevant URLs by vBSEO 3.6.0