Hallo Forum!
Mir ist bei meiner Datenbank was aufgefallen, was ich nicht ganz verstehe.
Ich habe zuerst einen alten Bestand von Daten absteigend (I-1200 bis I-0800)
eingegeben. Bis dahin verlief alles so wie es sollte.
Als ich damit fertig war, waren die neuen Datensätze dran (I-1230 bis I-1201).
Ich habe dann versucht aufsteigend die Daten einzugeben.
Soweit, so gut.
Bei den ersten Datensatz ist allerdings bereits was merkwürdiges passiert.
Bei dere Eingabe des Datensatzes I-1201 sind die Bildlinks des Datensatzes
I-1193 überschrieben worden, so das beide Datensätze die gleichen Bilder
angezeigt haben.
Das Formular übergibt den Bildlink nach folgenden Schema:
<img border=0 src=upload/I-XXXX-1.jpg>
Überall wo XXXX steht, wird die ID, z.B. 1201 eingegeben.
Da ich den Vorgang auch mit den Datensatz I-1202 wiederholt habe, konnte
ich feststellen, das bei der aufsteigenden Eingabe immer die Bildverweise
8 Datensätze abwärts überschrieben werden.
Danach habe ich einfach die nächsten Datensätze 10 IDs höher gesetzt und
wieder abwärts eingegeben (aus I-1230 wurde also I-1240 usw.).
Das klappte soweit, ist aber keine richtige Lösung.
Ist das ganze jetzt ein MySQL-Fehler der Version 4.0.15 oder liegt der Fehler
wo anders?
Hat jemand eine Idee?
maccoder
Ankündigung
Einklappen
Keine Ankündigung bisher.
MySQL Fehler in Version 4.0.15
Einklappen
Neue Werbung 2019
Einklappen
X
-
MySQL Fehler in Version 4.0.15
Stichworte: -
-
Hallo xabbuh!
Ich kann Dir nur beipflichten. Das was ich bei der Eingabe (aufwärst) erlebe,
obwohl nur mit INSERT arbeite, darf nicht passieren.
Daher der Verdacht des Versionsfehler.
Und wieso gerade dass das Überschreiben 8 Datensätze zurück passiert.
Auch in meinen Lehrbuch von M&T (MySQL in 21 Tagen) wird sowas nicht
aufgeführt.
Und glaub mir, das Buch hat mir schon ganz schön geholfen.
maccoder
-
Hallo Forum!
Normalerweise gebe ich Dir Recht, aber das was ich erlebt habe, ist was anderes.
Ich gehe deshalb von einen MySQL-Versionsfehler aus.
Die Idee wiederum die Felder der Bilderlinks als UNIQUE zu deklarieren, wäre
vielleicht eine Lösung.
maccoder
Einen Kommentar schreiben:
-
Wenn du wirklich nur diese INSERT- und keine zusätzliche UPDATE-Abfrage benutzt, sehe ich keinen Grund, warum dir die Daten teilweise überschrieben werden sollten.
Einen Kommentar schreiben:
-
Es interessiert doch nicht die Bohne wie die Datensätze sortiert sind, wenn du eindeutige INSERT-Anweisungen verwendest!? Und bei INSERT wird nichts überschrieben, sondern neu hinzugefügt. Wenn deine I-1234 Felder eindeutig sein sollen, deklarier sie als UNIQUE.
Einen Kommentar schreiben:
-
Hallo Forum!
Ja.
$anfrage="INSERT INTO dream SET
danach folgen sämtliche Variablen wie bild1='$bild1', usw.
maccoder
Einen Kommentar schreiben:
-
Hallo Forum!
Hier nochmal das Problem:
Bei dere Eingabe des Datensatzes I-1201 sind die Bildlinks des Datensatzes
I-1193 überschrieben worden, so das beide Datensätze die gleichen Bilder
angezeigt haben.
Bei der Eingabe des Datensatzes (aufwärst) ist sind z.B. die (ausschließlich und nur!!)
Bildlinks des bereits vorhandenen Datensatzes I-1194 überschrieben worden.
Als ich den alten Bestand abwärts (zuerst I-1200, dann I-1199, dann I-1198 usw.)
eingeben habe, ging alles gut.
Ich hoffe, das damit die Begriffe "aufwärts bzw. abwärts" geklärt sind.
maccoder
Einen Kommentar schreiben:
-
Ehrlich gesagt, verstehe ich nicht, was du mit aufwärts bzw. abwärts eingeben meinst und was da wie überschrieben werden soll.
Einen Kommentar schreiben:
-
Hallo Forum!
Das Tabellendesign ist nicht das Thema, daran liegt es bestimmt nicht.
Die Frage ist und bleibt, wieso die Eingabe, wenn diese aufwärts eingegeben wird, 8 Datensätze
abwärts die Bilderlinks überschreibt.
Und wieso dies nicht passiert, wenn die Eingabe abwärts erfolgt.
maccoder
Einen Kommentar schreiben:
-
Zitat von maccoderKlar sind das etwas übertrieben, aber bei meinen Webspace spielt
das keine große Rolle.
maccoder
Einen Kommentar schreiben:
-
Hallo Forum!
Ich greife über:
bild1 varchar(100) Nein
bild2 varchar(100) Nein
bild3 varchar(100) Nein
bild4 varchar(100) Nein
bild5 varchar(100) Nein
bild6 varchar(100) Nein
vorschaubild varchar(100) Nein
auf die Bilderlinks zu.
Diese sind wie bereits erwähnt so angelegt:
<img border=0 src=upload/I-XXXX-1.jpg>
wobei die XXXX durch die ID, z.B. (I-)1201 ersetzt werden.
PHP-Code:<?php
familienstand varchar(100) Nein
marriageStatus varchar(100) Nein
//
internId varchar(100) Nein
?>
das keine große Rolle.
maccoder
Einen Kommentar schreiben:
-
Stimmt
Code:familienstand varchar(100) Nein marriageStatus varchar(100) Nein // internId varchar(100) Nein
Einen Kommentar schreiben:
-
Als Tipp
Du solltest dringends deine Tabellenstruktur überdenken.
Einen Kommentar schreiben:
-
Und über welches Feld greifst du auf die Bilder zu? internId?
Einen Kommentar schreiben:
Einen Kommentar schreiben: