MySQL Update über alle Tabellen in Datenbank

Gast #4134206
Lesenswert?

Hallo zusammen,

Ich habe folgendes Problem:
Ich habe mehrere identische Tabellen in einer Datenbank, also quasi so:
Test ist der Name meiner Datenbank, darin befinden sich n Tabellen mit 
dem Wert x.

test:tabelle_1:wert_x
test:tabelle_2:wert_x
test:tabelle_3:wert_x
.
.
.
test:tabelle_n:wert_x

Nun möchte ich gerne mit einem Update-Befehl alle Werte wert_x mit einem 
mal ändern. Leider komme ich nicht dadrauf, wie ich das für alle 
Tabellen machen kann. Wenn ich eine einzelne Tabelle ansprechen möchte 
kann ich ja folgendes machen:

UPDATE tabelle_1 SET wert_x = 3;

Und das ganze möchte ich gerne für alle Tabellen machen, jetzt aber 
unabhängig davon wie viele Tabllen ich habe.

Könnt ihr mir da weiterhelfen:/?
Gast #4134229
Lesenswert?

Hab ich auch schon überlegt aber mir fällt keine andere Struktur ein. Um 
das ganze mal zu konkretisieren:

Autos:Auto_1:Tankinhalt
Autos:Auto_2:Tankinhalt
Autos:Auto_3:Tankinhalt
.
.
.
Autos:Auto_n:Tankinhalt

Oder ist das ein völlig falscher Ansatz?
#4134234
Lesenswert?

A. K. schrieb:
> Klingt nach Fehler beim Design der Datenbank.

Dem kann ich mich nur anschliessen.
Umschiffen kannst Du dies mit einer Stored Procedure.
So Handgelenkmalphi:
1
USE Test;
2
DROP PROCEDURE IF EXISTS test_updates;
3

4
Delimiter |
5
CREATE PROCEDURE test_updates (_new_value INT UNSIGNED)
6
SQL SECURITY DEFINER
7
MODIFIES SQL DATA
8
BEGIN
9
Update tabelle_1 Set wert = _new_value;
10
Update tabelle_2 Set wert = _new_value;
11
Update tabelle_3 Set wert = _new_value;
12
END; |
13
Delimiter ;

So ungefaehr.
Gast #4134248
Lesenswert?

Ja das hatte ich auch schon überlegt, aber ich habe in der Tabelle 
Auto_1...Auto_n mehrere Eigenschaften für jedes Auto, da fande ich es 
sinnvoller und übersichtlicher das Auto als Tabelle zu definieren und 
dann die Eigenschaften aufzuführen.

Aber dann ist es sinnvoller alle Eigenschaften als Tabelle zu machen und 
die Autos dann Eigenschaft zu listen oder?

Sorry bin noch ziemlich neu was das Anlegen von Datenbanken angeht?
#4134348
Lesenswert?

Mach eine Tabelle, die die Eigenschaften enthält (also Spalten Auto, 
eigenschaft1, eigenschaft2, eigenschaft3, eigensc...)
Und eine Tabelle mit Auto und Tankinhalt als Spalten.
Und wenn Du sicherstellen willst, daß ein Auto mit seinen Eigenschaften 
existieren muß, bevor man dessen Tankinhalt speichern kann, definiere 
einen primary Key auf Spalte auto in der Eigenschaftentabelle, und einen 
foreign Key in der Tankeinhalttabelle, der auf den PK der 
Eigenschaftentabelle verweist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren