Visual WebZone - Forum
lima-city → Forum → Sonstiges → Spam und sonstiges Unvergütetes
code
eins
erfahrung
erzeugen
forum
frage
halten
idee
index
kopf
meinung
nutzen
problem
stehen
strategie
tabelle
url
verwalten
werfen
zeile
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
*kaffee nehm*
hab ja schon fast gedacht, deine maschine ist kaputt
*schlürf*
edit
ach, geben wir dem thread mal sinn ...
ich hab in einer msql-tabelle eine auto-index-erhöhung eingeschaltet, die ja auch super funktioniert, aber leider leider, wenn ich da manuell zeilen herauslösche, dann merkt sich die tabelle die ursprünglichen zeilen-nummern, also geht die zählung so
1 hi ho
2 hi hi
3 ha ha
318 hi hu
319 hi ha
...
...
ich mag aber, das auch der index zurückgesetzt wird, wie geht das?
Beitrag zuletzt geändert: 6.8.2009 23:27:18 von sonok -
mich würde dasselbe wie sonok interessieren!!
*kaffee wegnehm*
*saft hinstell*
Beitrag zuletzt geändert: 7.8.2009 13:48:43 von t-li -
sonok schrieb:
*kaffee nehm*
hab ja schon fast gedacht, deine maschine ist kaputt
*schlürf*
edit
ach, geben wir dem thread mal sinn ...
ich hab in einer msql-tabelle eine auto-index-erhöhung eingeschaltet, die ja auch super funktioniert, aber leider leider, wenn ich da manuell zeilen herauslösche, dann merkt sich die tabelle die ursprünglichen zeilen-nummern, also geht die zählung so
1 hi ho
2 hi hi
3 ha ha
318 hi hu
319 hi ha
...
...
ich mag aber, das auch der index zurückgesetzt wird, wie geht das?
Meinst du mit msql Microsoft SQL?
Weil damit hab ich nur sehr wenig Erfahrungen, aber allgemein: Jede DBMS hat seine eigenen Strategien Autowerte zu erzeugen. Alle großen (Oracle, Ingres, DB2, vllt auch MS-SQL) können hierfür Sequences nutzen. Dann kann man entweder dem DBMS mitteilen, wie er die Sequenz zu erzeugen hat oder aber, man kann dem DBMS einen eigenen Sequencegenerator an den Kopf werfen. Wie das bei deinem DBMS geht, sollte in der Doku stehen unter dem Schlagwort "sequences".
Das andere wäre ein häßlicher Workaround in der Form
insert into tblSonok (id, eins, zwei) values ( (select max(id) from tblSonok) + 1, 'hi', 'hu')
-
census schrieb:
Meinst du mit msql Microsoft SQL?
Weil damit hab ich nur sehr wenig Erfahrungen, aber allgemein: Jede DBMS hat seine eigenen Strategien Autowerte zu erzeugen. Alle großen (Oracle, Ingres, DB2, vllt auch MS-SQL) können hierfür Sequences nutzen. Dann kann man entweder dem DBMS mitteilen, wie er die Sequenz zu erzeugen hat oder aber, man kann dem DBMS einen eigenen Sequencegenerator an den Kopf werfen. Wie das bei deinem DBMS geht, sollte in der Doku stehen unter dem Schlagwort "sequences".
Das andere wäre ein häßlicher Workaround in der Form
insert into tblSonok (id, eins, zwei) values ( (select max(id) from tblSonok) + 1, 'hi', 'hu')
oh nein, ich meine MySQL, und da hab ich nach "schattenbaum" - tutorial eine id-spalte angelegt, die sich selbst aufaddiert.
hm, ich hab gedacht, man muß da nur irgendeinen regler bei phpMyAdmin verschieben -
sonok schrieb:
census schrieb:
Meinst du mit msql Microsoft SQL?
Weil damit hab ich nur sehr wenig Erfahrungen, aber allgemein: Jede DBMS hat seine eigenen Strategien Autowerte zu erzeugen. Alle großen (Oracle, Ingres, DB2, vllt auch MS-SQL) können hierfür Sequences nutzen. Dann kann man entweder dem DBMS mitteilen, wie er die Sequenz zu erzeugen hat oder aber, man kann dem DBMS einen eigenen Sequencegenerator an den Kopf werfen. Wie das bei deinem DBMS geht, sollte in der Doku stehen unter dem Schlagwort "sequences".
Das andere wäre ein häßlicher Workaround in der Form
insert into tblSonok (id, eins, zwei) values ( (select max(id) from tblSonok) + 1, 'hi', 'hu')
oh nein, ich meine MySQL, und da hab ich nach "schattenbaum" - tutorial eine id-spalte angelegt, die sich selbst aufaddiert.
hm, ich hab gedacht, man muß da nur irgendeinen regler bei phpMyAdmin verschieben
Du must halt wissen was du willst:
A) Dir sind die IDs egal, Hauptsache sie sind eineindeutig und du willst dich darum auch nicht kümmern => Also lass das den DBMS machen und nutze auto_increment.
B) Du willst die IDs selbst verwalten, damit sie schön fortlaufend sind, Lücken wieder aufgefüllt werden etc => Mach es händisch und nutze kein auto_increment. -
hm, demnach müßte ich sie selbst verwalten. naja, wie man das anstellt, da hab ich schon eine idee ... egal,
danke! -
Das ist ja unprofessionell:
Select * from tabelle
Einfach die ganze Tabelle auslesen und dann einen Zufallswert berechnen.
Und solange loopen, bis ein Zufallswert generiert wurde, der nicht im Array der bereits genutzen Tabellen-Bezeichner vorhanden ist...
Die Idee stammt von thedailywtf und wurde bereits mal irgendwo verwendet.
Sehr genial -
naja, ich würde eher mit einer while-schleife die id's durchlaufen und mit einem wert abgleichen, der immer um eins erhöht wird und wenn die id nicht mit dem wert + 1 übereinstimmt, wird da die neue zeile reingepackt. das sollte ja auch gehen ...
mit selbst verwalten mein ich nun nicht manuell verwalten ... -
Huhu, du kannst den aktuellen increment Wert unter MySQL gaaaanz einfach ändern:
ALTER TABLE tabelle AUTO_INCREMENT = blabliblub;
Wenn du das automatiesieren willst, dann kannste einen ON DELETE TRIGGER erstellen oder einfach manuell oder per PHP setzen ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage