# Automatische Berechnung in MySQL?



## Verjigorm (25. Aug 2008)

Hallo,

vielleicht weiss das ja jemand von euch:

Kann man in MySQL "irgendwas" automatisch in einem Datensatz berechnen lassen?
Also einfaches Additions-Beispiel:

Ich habe 3 Spalten:
Spalte 1 hat den wert 5 (int)
Spalte 2 hat den wert 8 (int)
Spalte 3 berechnet automatische 5+8 und bei jedem update halt auch den wert neu.

Gibts sowas?
Ich hab wohl bei Google nicht die richtigen Schlagwörter gefunden.

mfg Verjigorm


edit: Sorry für den Titel, ich hab knapp 50 Topics ausprobiert und immer kam eine scheiss Spamwarnung *ultranerv*
(Automatische Berechnung in MySQL?) wtf was ist daran Spam????

edit2: Die Forensoftware is ja mal megascheisse,
"Automatische Berechnung in MySQL?" darf ich nicht als Topic nehmen, aber ich darf das Topic in "Automatische Berechnung in MySQL?" editieren ....


----------



## SlaterB (25. Aug 2008)

http://de.wikipedia.org/wiki/Datenbanktrigger
ist der Fachbegriff, 
ob MySQL das hat kann ich nicht sagen, wäre mir aber neu


----------



## tfa (25. Aug 2008)

Warum willst du Daten speichern, die sich schon aus vorhandenen Daten berechnen lassen?

Mach dir eine View:

select spalte1, spalte2, spalte1+spalte2 as spalte3 from tabelle


----------



## Verjigorm (25. Aug 2008)

SlaterB hat gesagt.:
			
		

> http://de.wikipedia.org/wiki/Datenbanktrigger
> ist der Fachbegriff,
> ob MySQL das hat kann ich nicht sagen, wäre mir aber neu



ah ok Trigger heisst das dingens

Nee ich will nix speichern, ich will herausfinden, ob MySQL-Tabellen, die ich auslese Trigger beinhalten (mit Java)
Naja, da ich ja jetzt den Fachbegriff kenne, kann ich mal gezielt danach suchen


----------



## maki (25. Aug 2008)

> Nee ich will nix speichern, ich will herausfinden, ob MySQL-Tabellen, die ich auslese Trigger beinhalten (mit Java)


Das bekommst du über die Metadaten raus...


----------



## Verjigorm (25. Aug 2008)

Dachte ich mir auch, find aber nicht wirklich die passende Methode dafür
http://java.sun.com/javase/6/docs/api/java/sql/ResultSetMetaData.html


----------



## maki (25. Aug 2008)

Ok, es scheint keinen Weg zu geben Trigger mit ResultSetMetaData auszulesen.


----------



## kleiner_held (25. Aug 2008)

Unter dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html gibts ein Beispiel-Statement wie man die Meta-Tabelle INFORMATION_SCHEMA.TRIGGERS auslesen kann. Vielleicht hilft das weiter. Ansonsten koennte die MySQL Connector API noch Informationen bereitstellen, die ueber das Standardinterface java.sql.DatabaseMetaData hinausgehen.


----------



## Verjigorm (25. Aug 2008)

ah ok, das funktioniert!

Jetzt such ich nur noch von einer Tabelle die Info, welche Spalte Primary Key ist, dann seid ihr mich los


----------



## kleiner_held (25. Aug 2008)

java.sql.DatabaseMetaData.getPrimaryKeys(java.lang.String, java.lang.String, java.lang.String)
Das DatabaseMetaData Objekt bekommst du von der JDBC Connection.


----------



## Verjigorm (25. Aug 2008)

Ok danke, die Klasse kannte ich noch garnicht


----------

