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.

MySQL Befehl gesucht...

Empfohlene Antworten

Veröffentlicht

Hi !

Habe eine stinknormale Tabelle in MySQL, deren erste Spalte einen Index enthält, natürlich mit automatischer Nummerierung. Jetzt habe ich mal probehalber ein paar Datensätze eingefügt und anschließend wieder gelöscht. Die Tabelle ist quasi leer. Wenn ich nun wieder einen Datensatz einfüge, startet der Index auf einmal mit der Nummer 11. Sollte er hier nicht besser mit der Nummer 1 wieder beginnen? Gibt es eine Möglichkeit, MySQL mitzuteilen, dass er wieder bei 1 anfängt?

Hommling

Hallo nochmal!

Habe schon mal bei google weitergesucht und die Antwort gefunden! Hat sich erledigt!

Hommling:marine

Ich hoffe die gefundene Antwort lautet:

Finger weg vom Primärschlüssel!

Der dient nämlich zur eindeutigen Identifizierung eines Datensatzes.

Solange du nicht 100%ig weisst, das kein anderer Datensatz noch auf den gelöschten Datensatz verweist, kannst, sollst und darfst du die ID nicht neu vergeben.

Sonst kann aus Antibiotika, Buttersäure werden. ;)

Gruß Jaraz

Es ist auch immernoch schoen seinen Loesungsweg zu posten wenn man ihn gefunden hat, damit andere Leute fuer die gleiche nicht noch einen Thread aufmachen muessen. (Was sie ja ehh immer tun ;)).

Wie schon erwähnt, sollte man sowas besser lassen. ;)

Sofern es aber dennoch gewollt ist, dürfte ein "DELETE FROM table" helfen (auch bei einer leeren Tabelle).

Es ist auch immernoch schoen seinen Loesungsweg zu posten wenn man ihn gefunden hat, damit andere Leute fuer die gleiche nicht noch einen Thread aufmachen muessen. (Was sie ja ehh immer tun ).

O.K., O.K. -> Hummel, Hummel - Mors, Mors !

Habe folgende Lösung für das Problem:

Die MySQL-Datenbank wird in meinem Fall von einem PHP-Skript angesprochen. Die gefundene Lösung besagt, dass es das Beste sei, über den MySQL-Befehl "MAX()" sich den Datensatz mit der höchsten ID raus zu fischen, diesen Wert um einen zu erhöhen und dann mit der jetzt richtigen ID den neuen Datensatz an zu legen.

Das ist schon alles. Jedoch ist der Gedanke, scheinbar nicht benötigte Datensätze aus Tabellen zu löschen, ohne zu wissen, ob nicht ein Datensatz einer anderen Tabelle auf diesen zeigt, nicht verkehrt! Danke dafür, das hätte ich beinahe nicht in meine Überlegungen mit einbezogen.

Dass mit den Threads, die sich quasi durch den Fragenden selbst beantworten, ist zugegeben ziemlich beknackt. Sorry dafür! :rolleyes:

Hommling

Originally posted by hommling

Die gefundene Lösung besagt, dass es das Beste sei, über den MySQL-Befehl "MAX()" sich den Datensatz mit der höchsten ID raus zu fischen, diesen Wert um einen zu erhöhen und dann mit der jetzt richtigen ID den neuen Datensatz an zu legen.

Oh Oh, böse Falle. :rolleyes:

Man nehme den Fall an, du machst MAX(), bekommst den Wert, und bevor du den nächsten Datensatz eingefügt hast, macht ein anderer MAX().

Ihr habt also beide dieselbe ID und ein Datensatz geht verloren.

Der autoincrement Mechanismus hat schon seinen Sinn und seine Berechtigung.

Gruß Jaraz

Hihihi!

VERFECHTER DES AUTO_INCREMENTS: VEREINIGT EUCH !!! :D

Danke für den Hinweis, jedoch geht es in meinem Fall nur um eine Userin, die Zugriff auf die DB hat. Somit ist es Dein Beitrag hinfällig.

Trotzdem Danke! Habe verstanden, was Du mir sagen wolltest !

:)

Hommling

Originally posted by hommling

Danke für den Hinweis, jedoch geht es in meinem Fall nur um eine Userin, die Zugriff auf die DB hat. Somit ist es Dein Beitrag hinfällig.

Außerdem ist deine Lösung nicht gerade performant.

Ja ja, ich weiss ist nur eine Userin, ob die nun 2 oder 30 Millisekunden wartet, ist auch egal.

Wenn ich sowas im Code einer von mir bestellten Anwendung sehen würde, würde ich sofort das Softwarehaus wechseln. ;) Ich hoffe es handelt sich nicht um dein Abschlussprojekt.

Gruß Jaraz

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.