phpbar.de logo

Mailinglisten-Archive

Maximalwert

Maximalwert

Benedikt Quirmbach benedikt at quirmbach.de
Mon Dez 27 13:41:45 CET 2004


Hallo,

ich habe eine Tabelle mit Adressdaten. Ein Feld (folge) ist dafür 
zuständig, die Adressen in einer bestimmten Reihenfolge auszugeben.

Wenn ein Benutzer eine neue Adresse eingibt, kann er die Position der 
Adresse mit folge bestimmen. Ich möchte nun vermeiden, dass in der 
Folgenzählung "Löcher" entstehen (1,2,3,6,7,8). Dafür habe ich mir ein 
Statement ausgedacht, dass leider nicht funktioniert. Vielleicht kann 
mir jemand das richtig rücken:

String sql = "INSERT INTO adressen (owner, ort, str, tel, selected, 
aktiv, folge) VALUES ('" + return_owner + "', '" + this_ort + "', '" + 
this_str + "', '" + this_tel + "', 0, 1, IF(MAX(folge)<" + 
Integer.parseInt(this_folge) + ",'" + this_folge + "',MAX(folge)))";

Die entscheidende Stelle ist wohl " IF(MAX(folge)<" + 
Integer.parseInt(this_folge) + ",'" + this_folge + "',MAX(folge))". 
Nehme ich statt dessen ",'" + this_folge + "'" funktioniert das INSERT, 
aber natürlich nicht die Reihenfolgenbegrenzung.

Vielleicht gibt es ja auch eine andere Lösung. Es geht darum, dass der 
Wert für folge in keinem Fall höher als der Maximalwert von folge + 1 
ist. Wenn ich einen Wert für folge angebe, der innerhalb des 
Wertebereiches liegt, funktioniert mit der vereinfachten Version alles. 
Die Änderung der schon vorhandenen Zählung habe ich in einer weiteren 
Abfrage geregelt.

Danke für Eure Hilfe
Benedikt

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive