| 

.NET C# Java Javascript Exception

1
Hallo

Ich möchte per SQL direkt in PHPmyADMIN die gesamte Datenbank ändern.
Es soll überall das Wort tl_files in bilder geändert werden.

UPDATE vergleich SET bild_vorher= REPLACE (bild_vorher, 'tl_files', 'bilder') WHERE bild_vorher LIKE '%tl_files%'


Wenn ich dies gezielt pro Tabelle und Spalte machen klappt es.
Aber es taucht nicht nur in der Tabelle "vergleich" auf sondern in vielen anderen und auch in mehreren Spalten einer Tabelle.

Kann mir da jemand weiterhelfen?
Danke!

Gruss
MM
26.10.2012
meone 99 1 6
meone 99 1 6
3 Antworten
2
Am sinnvollsten ist wohl, wenn Du dein SQL dynamisch aufbaust und den Tabellennamen sowie Feldnamen dabei aus einer Tabelle einliest, in der alle Tabellen mit Feldern abgelegt sind, die du anpassen willst.

Tabelle Updates (Tabelle, Feld)

In TSQL würdest Du dafür eine Prozedur speichern mit einer NVARCHAR Variable @sql, die für jeden Eintrag der Tabelle zusammengebaut wird und dann mit EXECUTE @sql ausgeführt wird. Mit MySQL kenne ich mich dafür nicht gut genug aus.

Das wäre insgesamt weniger Arbeit als das über alle vorhandenen Felder zu versuchen. Dann müsstest Du Felder und Tabellen aus den Systemsichten heraussuchen, die Datentypen prüfen und dann das Update-SQL erstellen. Dabei hättest du aber keine Kontrolle, ob nicht irgendwo ein Update angestoßen wird, das Du lieber nicht durchgeführt hättest.
31.10.2012
Dominik.Hilke 131 2
0
31.10.2012
Jaksa 4,0k 1 8
0
Hab mir euers jetzt nicht angeguckt weil ich schon selbst die Lösung gefunden hatte, aber danke. Hier was ich fand und was super klappte:

https://gist.github.com/3304014
05.11.2012
meone 99 1 6

Stelle deine Php-Frage jetzt!