Tabellengröße
-
Hallo alle miteinander,
ich habe derzeit ein komisches Problem mit meinem MySQL-Server.
Ich verwalte diesen über MySQL und der Server läuft lokal auf meinem Rechner.
Ich habe nun in einer Datenbank eine Tabelle, die per PHP gefüllt wird. Da sollen auch mal 700 Einträge rein. Allerdings füllt der MySQL-Server nur bis 255 Einträgen, dann bricht er ab. Sprich: Er lässt es nicht zu, dass die Tabelle über 255 Einträge groß wird. Hat jemand 'ne Idee woran das liegt und wie ich es ändern kann.Danke im Voraus,
Prof. MAAD
-
Hallo
Fehlermeldung ?
(moeglicherweise ein autouinc-Feld mit Short-Int oder so)MfG
Klaus
-
Hi KlausB,
es kommt keinerlei Fehlermeldung. Das PHP-Script läuft durch und sollte somit eigentlich die Einträge eingefügt haben, und zwar mehr als 255. Wenn ich dann allerdings in PHPMyAdmin gucke, hat die Tabelle nur 255 Einträge. Kann es vieleicht sein, dass MyISAM-Tabellen nur 255 Einträge unterstützen?
Zu der Tabellenstruktur:
1. "id" - int mit 10 Stellen
2. "gid" - int mit 1 Stelle
3. "code" - tinytextDanke schonmal für die Hilfe,
Ciao,
Prof. MAAD
-
Du könntest ja mal überprüfen, ob da ein Datensatz eine Macke hat und dadurch der Vorgang abgebrochen wird. Vielleicht ist ein Name zu lang oder ein Primärschlüsselfeld ist nicht gefüllt oder irgendwo kommt ein Sonderzeichen vor oder sonst was.
Lass dir doch einfach mal die Datensätze per MessageBox oder so anzeigen, bevor du versuchst, sie in die Datenbank zu schreiben.
-
nur kurz als info ein int mit 10 Stellen gibt es so nicht, da int (bitte nicht hauen wenn es falsch ist) auf 32 Bit maschinen bis ca. 32000 geht unsigned ca bis 64000 also wären 10 Stellen kein wirkliches int aber bis 700 sollte es auf jeden Fall kommen
-
Ich haue dich nicht aber du liegst falsch.
INT hat eine Wertebereich von
-2147483648 und 2147483647 als signed
0 und 4294947295 als unsigned.Zähle ich jetzt die Stellen sind es 10 Ziffern.
Der Speicherbedarf ist 4 Bytes.
-
stimmt bei 32 Bit = 4 Byte ist das wohl so, was meine Rechnung angeht ist das bei einer Wortbreite von 2 Byte also 16 Bit was meiner Meinung nach (wieder nicht ganz sicher) bei (bestimmten) DRAMs der Fall ist. Somit kann ich nicht allgemein sagen wie groß sein int ist, da es ein Wort groß ist und je nach CPU und RAM kann das sich wie erörtert ändern