Dateien in MYSQL ersetzen??

MySQL, PostgreSQL, SQLite
b2b32
Posts: 12
Joined: 2006-03-09 16:52

Dateien in MYSQL ersetzen??

Post by b2b32 » 2006-03-13 10:07

Hallo habe eine MYSQL Datenbank mit ca. 1GB von einem Forum, die Posting Größe beträgt ca. 450 MB, ist es möglich da sich durch Domain Änderung die http://www.adressse.de geändert hat, diese in der POSTING MYSQL für vorhandene LINKS in der Datenbank zu ersetzen?

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Dateien in MYSQL ersetzen??

Post by isotopp » 2006-03-13 10:12

b2b32 wrote:Hallo habe eine MYSQL Datenbank mit ca. 1GB von einem Forum, die Posting Größe beträgt ca. 450 MB, ist es möglich da sich durch Domain Änderung die http://www.adressse.de geändert hat, diese in der POSTING MYSQL für vorhandene LINKS in der Datenbank zu ersetzen?
http://dev.mysql.com/doc/refman/5.0/en/ ... tions.html

replace()

b2b32
Posts: 12
Joined: 2006-03-09 16:52

Re: Dateien in MYSQL ersetzen??

Post by b2b32 » 2006-03-13 14:40

kannste das mal genauer erklären.....bitte


REPLACE(str,from_str,to_str)

Returns the string str with all occurrences of the string from_str replaced by the string to_str. REPLACE() performs a case-sensitive match when searching for from_str.

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'

This function is multi-byte safe.


Ich will in der tabelle_posts alle http://www.domain.de/haha umwandeln....was muss ich da nun genau machen?

SELECT REPLACE('www.domain.de/haha, 'www.neuedomain.de/haha');

und wo eingeben?

Habe phpMyAdmin 2.6.3-pl1 MySQL 4.1.10a

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Dateien in MYSQL ersetzen??

Post by flo » 2006-03-13 15:37

b2b32 wrote: REPLACE(str,from_str,to_str)
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
SELECT REPLACE('www.domain.de/haha, 'www.neuedomain.de/haha');
Wir beachten dabei auch die Anzahl der Parameter ...

flo.

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Dateien in MYSQL ersetzen??

Post by isotopp » 2006-03-13 16:31

b2b32 wrote:Ich will in der tabelle_posts alle http://www.domain.de/haha umwandeln....was muss ich da nun genau machen?
Eine Tabelle enthält keine Daten, Spalten enthalten Daten (und Tabellen bestehen aus Spalten).

Du kannst also leicht "select replace(spaltenname, 'altedomain.de/haha', 'neuedomain.de/haha') from tablename" durchlaufen lassen.
Habe phpMyAdmin 2.6.3-pl1 MySQL 4.1.10a
Ich habe phpMyAdmin leider nicht. Stattdessen verwende ich einfach den MySQL Kommandozeilenclient. Aber das sollte kaum einen Unterschied machen.

Hast Du ein Backup?

b2b32
Posts: 12
Joined: 2006-03-09 16:52

Re: Dateien in MYSQL ersetzen??

Post by b2b32 » 2006-03-13 17:44

isotopp wrote:
b2b32 wrote:Ich will in der tabelle_posts alle http://www.domain.de/haha umwandeln....was muss ich da nun genau machen?
Eine Tabelle enthält keine Daten, Spalten enthalten Daten (und Tabellen bestehen aus Spalten).

Du kannst also leicht "select replace(spaltenname, 'altedomain.de/haha', 'neuedomain.de/haha') from tablename" durchlaufen lassen.
Habe phpMyAdmin 2.6.3-pl1 MySQL 4.1.10a
Ich habe phpMyAdmin leider nicht. Stattdessen verwende ich einfach den MySQL Kommandozeilenclient. Aber das sollte kaum einen Unterschied machen.

Hast Du ein Backup?

Hat alles funktioniert, aber muss ich alle einzel durchgehen:
Zeige Datensätze 1170 - 1200 (935617 insgesamt)

Halt Moment, ich sehe gerade er zeigt zwar keinen Fehler, aber erstetzt hat er sie nicht.

oh oh

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Dateien in MYSQL ersetzen??

Post by Joe User » 2006-03-13 21:37

Führe die Ersetzungen per Kommandozeile durch, phpMyAdmin (insbesondere in der völlig veralteten Version) ist für solche Aufgaben ungeeignet.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.