Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

php -> id erhöhen

Empfohlene Antworten

Veröffentlicht

ich habe mit my-sql eine usertabelle.

die id wird mit auto_increment automatisch um eins erhöht.

problem: ich habe z.b. 8 user.

user nr. 8 meldet sich wieder ab.

wie mache ich es, dass die nächste anmeldung die id 8 bekommt, bis jetzt wird einfach weitergezählt, also 9 ;-(:confused:

Garnicht mit Autoincrement würd ich sagen, am besten schaust Du bevor Du einen neuen Account anlegst mit nem SELECT nach, welches die höchste ID is (oder welche kleinere noch frei is)=

SELECT max(id)+1 as id FROM......

das nimmste dann als nächsten Wert beim anlegen.

Original geschrieben von Valium

Garnicht mit Autoincrement würd ich sagen, am besten schaust Du bevor Du einen neuen Account anlegst mit nem SELECT nach, welches die höchste ID is (oder welche kleinere noch frei is)=

SELECT max(id)+1 as id FROM......

das nimmste dann als nächsten Wert beim anlegen.

Wenn Du es auf diese Art machst, darfst Du aber dann z.B. beim Primary Key kein Auto Increment setzen, weil sonst die Fehlermeldung "duplicate entry" kommen wird.

Original geschrieben von Valium

Garnicht mit Autoincrement würd ich sagen...

[...]

soweit ich weiß, wird bei einem autoincrement immer weitergezählt. Du kannst daher nicht Lücken wieder auffüllen.

Das ist auch bei Access so.

Was du auch machen kannst, ist als primary key eine x-stellige Zufallszahl generieren und die als Primary Key benutzen. Das würde ich tun, weil, wie du selbst gesehen hast eine fortlaufende Nummerierung keinen Nutzen bringt.

Mit einem Primary Key kannst du eigentlich nicht "arbeiten". Er gibt dir keine weiterführende Information zu einem Datensatz(welche Nummer, etc.).

Das Einzige was ein Primary Key bringt, ist die Eindeutigkeit mit der dieser Datensatz, auch von anderen Tabellen aus (Verknüpfung), identifiziert werden kann.

cu,

Thomas

ok, danke :)

Original geschrieben von thomee

Was du auch machen kannst, ist als primary key eine x-stellige Zufallszahl generieren und die als Primary Key benutzen. Das würde ich tun, weil, wie du selbst gesehen hast eine fortlaufende Nummerierung keinen Nutzen bringt.

Mit einem Primary Key kannst du eigentlich nicht "arbeiten". Er gibt dir keine weiterführende Information zu einem Datensatz(welche Nummer, etc.).

Das Einzige was ein Primary Key bringt, ist die Eindeutigkeit mit der dieser Datensatz, auch von anderen Tabellen aus (Verknüpfung), identifiziert werden kann.

Was hat eine Zufalls-Zahl denn für einen Vorteil? Ist letztendlich ja auch nur eine eindeutige Identifizierung für den Datensatz - mehr nicht... Der Primary-Key bietet zumindest noch einen kleinen Anhaltspunkt, wieviele Datensätze die Tabelle bereits hinter sich hat...

hallo!

Hm, wenn ich so überlege, würde ich sagen, dass es mehr "Sicherheit" bringt.

Nehmen wir an, du hast einen online-shop und speicherst deine Kundendaten auch in einer Tabelle der MySql Datenbank.

Wenn du als ID für jeden Datensatz eine fortlaufende Nummer benutzt, ist es für jemanden, der einen Weg gefunden hat, über das Webfrontend Kundendaten anzuschauen (z.B. http://www.shop.de/admin/config.php?show=adresse&kundennummer=20) um so leichter, alle Adressen herauszubekommen, als wenn die id, statt in diesem Fall 20, eine 8-stellige Zufallszahl wäre(vielleicht noch mit Zeichen).

Ok, in diesem Fall muss man unterstellen, dass der Shop schlecht programmiert ist. Aber glaub mir, es gibt viele schlecht programmierte Seiten und man sollte jede Möglichkeit nutzen die Sicherheit zu erhöhen.

cu,

Thomas

Original geschrieben von thomee

hallo!

Hm, wenn ich so überlege, würde ich sagen, dass es mehr "Sicherheit" bringt.

Nehmen wir an, du hast einen online-shop und speicherst deine Kundendaten auch in einer Tabelle der MySql Datenbank.

Wenn du als ID für jeden Datensatz eine fortlaufende Nummer benutzt, ist es für jemanden, der einen Weg gefunden hat, über das Webfrontend Kundendaten anzuschauen (z.B. http://www.shop.de/admin/config.php?show=adresse&kundennummer=20) um so leichter, alle Adressen herauszubekommen, als wenn die id, statt in diesem Fall 20, eine 8-stellige Zufallszahl wäre(vielleicht noch mit Zeichen).

Ok, in diesem Fall muss man unterstellen, dass der Shop schlecht programmiert ist. Aber glaub mir, es gibt viele schlecht programmierte Seiten und man sollte jede Möglichkeit nutzen die Sicherheit zu erhöhen.

cu,

Thomas

Stimmt - an sowas hatte ich garnicht gedacht... Aber wie du schon sagst, wenn's sehr um Sicherheit geht, sind sowieso andere Mechanismen anzuraten!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.