mqsql db neu anordnen

04/13/2010 08:51 d3pr1#1
WAS ich hier tun wollte ist kaum moeglich jedenfals mit php und ohne hand eingabe ich habes nun ohne id gemacht bzw in meinem auflistung die id net mehr anzeigen lassen


guten tag
ich arbeite grade an nem newsletter system klappt auch soweit
die datenbank wurde erstellt mit
CREATE TABLE `emaillisten` (
`id` INT( 255 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`email` VARCHAR( 255 ) NOT NULL ,
) ENGINE = MYISAM ;

klappt auch alles mit eintragen und ausgeben.
problem ist natuerlich will irgenteine person irgentwann nicht mehr informiert werden
wenn ich das nun ueber
DELETE FROM emaillisten
WHERE id = idnummer

wird die daei zwar geloescht
aber die liste geht dann 1 2 3 5 6 und so weiter

ist es irgentwie moeglich die db einfach neu anzuordnen das es immer 1 2 3 4 5 6 ist
das sozusagen alle ids ueber der fehlednen eins runter gehen

danke schonmal
04/13/2010 09:47 kennyo#2
Quote:
Originally Posted by d3pr1 View Post
guten tag
ich arbeite grade an nem newsletter system klappt auch soweit
die datenbank wurde erstellt mit
CREATE TABLE `emaillisten` (
`id` INT( 255 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`email` VARCHAR( 255 ) NOT NULL ,
) ENGINE = MYISAM ;

klappt auch alles mit eintragen und ausgeben.
problem ist natuerlich will irgenteine person irgentwann nicht mehr informiert werden
wenn ich das nun ueber
DELETE FROM emaillisten
WHERE id = idnummer

wird die daei zwar geloescht
aber die liste geht dann 1 2 3 5 6 und so weiter

ist es irgentwie moeglich die db einfach neu anzuordnen das es immer 1 2 3 4 5 6 ist
das sozusagen alle ids ueber der fehlednen eins runter gehen

danke schonmal
Ein Wort: Warum?
Es ist vollkommen egal ob die Reihenfolge durchgehend ist oder nicht, du kannst immernoch alles machen was du willst.
04/13/2010 12:09 d3pr1#3
ja klar waere nur schoener im allgemeinen jetzt net auf den newsletter bezogen sondern vielmehr auf gaestebuecher und foren aber passt schon
04/13/2010 15:55 Fratyr#4
Eine ID wird immer einmal einem Eintrag zugewiesen. Die Selbe ID gibt es nie zweimal,
von daher nein, es ist nicht möglich mit SQL einem Eintrag eine neue ID zuzuweisen.
04/13/2010 16:33 d3pr1#5
danke
04/14/2010 11:40 kennyo#6
Quote:
Originally Posted by d3pr1 View Post
ja klar waere nur schoener im allgemeinen jetzt net auf den newsletter bezogen sondern vielmehr auf gaestebuecher und foren aber passt schon
Schöner ist relativ.
Vorallem geht es erstmal um Performance. Es wäre theoretisch schon möglich, die ID bei jedem Eintrag neu zu ordnen (solange sie nicht automatisch gesetzt wird), aber das braucht performance.

Und in einem Forum oder Gästebuch nimmt man auch nicht die ID aus der Datenbank, sondern einfach eine Zählvariable wenn man die entsprechenden Einträge ausgibt (denn die #6 da oben rechts in der Ecke meines Posts ist auch nur diese "Zählvariable", denn in der Datenbank hat mein Post die ID 4882553).
04/14/2010 12:14 d3pr1#7
ja ich weis das man die eintraege dann zaehlt um den wert auszugeben
waehre trotzdem schoen gewesen wenn id sich neu ordnen wuerde aber passt schon
trotzdem thanks
04/15/2010 19:41 Elite-1337#8
ginge, wenn du nach jedem löschen den Inhalt ausliest und in eine neue Tabelle schreibst, die alte löschst und die neue umbenennst, aber total schwachsinnig.