#6
Es ist wie Ebenius bereits sagte. Ohne Angabe des DBMS ist alles nur reine Spekulation. #9
gorgel hat gesagt. Datenbank automatisch befüllen — CHIP-Forum. :
Also beim Firebird muss man die Spalte einfach nur "id" nennen, als Integer deklarieren und natürlich als not null. Von Oracle habe ich keine Ahnung. :wink:
Bei Oracle muss mann (wie Ebenius schon sagte) eine Sequenz erzeugen, die zählt sich dann ggf. selber hoch. Wie man das genau machen muss kann ich aus dem Stehgreif nicht sagen und müsste auch erst nachlesen (ist schon zu lange her, dass ich das das letzte mal gemacht habe).
Mysql Id Automatisch Hochzählen Code
Ich habe eine Tabelle die hat die Felder Name, Sortierreihenfolge. Also nur zwei Felder. Jetzt möchte ich gerne Nachnamen sortieren und in die Sortierreihenfolge eine 1, 2, 3, 4 schreiben. Hat jemand eine Idee wie die Update Funktion aussehen müsste? Hallo,
das Ganze ist nicht ganz so einfach, da du erst die jeweilige Nummer ermitteln musst und danach erst die Werte setzen kannst. MySQL: Datensatz mit ID einfügen, alle IDs drüber hochzählen von Dogfish, 22.07.2002 16:38 – SELFHTML Forum. Ich würde folgendes Skript ausführen(Für MS SQL 2014 geschrieben):
DECLARE iter CURSOR FOR SELECT Name AS Name, ROW_NUMBER() OVER (ORDER BY Name) AS nr FROM Test --Anpassen ORDER BY Name DECLARE @name varchar(50);--Anpassen DECLARE @nr int; OPEN iter; FETCH NEXT FROM iter INTO @name, @nr; while @@FETCH_STATUS = 0 begin UPDATE Test --Anpassen SET Sortierreihenfolge = @nr WHERE Name = @name; FETCH NEXT FROM iter INTO @name, @nr; end; CLOSE iter; DEALLOCATE iter;
Du musst nur noch den Tabellenname(hier Test) und den Typ von deinem Feld Name anpassen(hier varchar(50)). Folgendes passiert:
Zuerst brauchen wir eine SELECT Anweisung, die dein Ergebnis darstellt:
SELECT Name AS Name, ROW_NUMBER() OVER (ORDER BY Name) AS nr FROM Test --Anpassen ORDER BY Name
Dieses geben wir einem CURSOR, damit wir Zeile für Zeile durchgehen können.
Mysql Id Automatisch Hochzählen Server
Hallo,
das hochzählen mittels Zahlen und Buchstaben habe ich heute mit Hilfe des Forums geschafft. Jetzt stehe ich aber vor folgendem Problem (und glaube, daß ich gerade ziemlich auf der Leitung stehe):
Ich habe in meiner mysql-Datentabelle angenommene 6 Datensätze und möchte ihnen mittels eines update-Befehls noch eine numerische Adresse verpassen, wobei automatisch durch eine for Schleife hochgezählt wird. (0001r, 0001v, 0002r, 0002v usw). So soll also Datensatz 1 die 0001r, Datensatz2 die 0001v usw zugeordnet werden. Wie kann ich das machen? Wie muß dabei die where Bedingung formuliert werden? ich bin für jeden Hinweis dankbar. Info(r)Matiker
Dabei seit: 11. 04. 2009
Beiträge: 1254
Dabei seit: 13. [mySQL] Zahlen automatisch um 1 hochzählen | klamm-Forum. 02. 2008
Beiträge: 6939
Na in dem du dir ein Kriteritum aussuchst wonach du sortieren willst und das auch tust, also alle Datensätze sortiert selektierst und dann deine Schleife etwas anpasst:
PHP-Code:
for( $x = 1; $row = mysql_fetch_assoc ( $qry); $x ++) { //... $sql = "UPDATE tabelle SET nr = ' $neue_nr ' WHERE id = '".
Mysql Id Automatisch Hochzählen Error
Das setzen des Startwertes kannst Du der Doku entnehmen, das ist ganz sicher gut dokumentiert. Deine Fragen damit geklärt? #5
Hmm,
'autoincrement' war mir bewußt - deshalb ja die Aussage: "zählt merkwürdig hoch",
nur, daß ich den Wert unter 'operationen' auf den nächsten _zu vergebenden Wert_ (wieder herunter)setzen muß,
fehlte mir als Info. Danke.
>
Das Ergebnis sieht so aus: Was ich nicht verstehe, ist, daß das Array nur [0] anzeigt und daß jede Bildadresse zweimal erzeugt wird.