Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: AnnoZone Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

martinmartimeo

Boardsmutje

  • »martinmartimeo« ist der Autor dieses Themas

Beiträge: 971

Registrierungsdatum: 17. September 2006

  • Nachricht senden

1

Samstag, 16. Dezember 2006, 21:14

MySQL

Hi,

Ich arbeite gerade etwas mit MySQL und hoffe, es kennt sich hier jemand dazu aus, da ich eine Frage habe:

Ich lege eine ganz einfach Tabelle an:

Quellcode

1
2
3
4
5
6
7
8
CREATE TABLE `users` (
`ID` INT( 255 ) NOT NULL AUTO_INCREMENT ,
`Name` TEXT NOT NULL ,
`Passwort` TEXT NOT NULL ,
`Nick` TEXT NOT NULL ,
`Datum` DATE NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM ;

nun habe ich ja als Primary Key die ID angelegt, diese Key muss ja immer vom TYp Integer sein und kann maximal 255 haben.
Nun habe ich eine Verständnisfrage: Heißt das ich kann in dieser Tabelle nur 256 Reihen (User) haben? Also 256 Einträge (User)? :scratch: :scratch: :scratch:
Wenn ja, wie schaffe ich es dass ich eine Tabelle mit Primary Key habe, welche mehr als 256 User erlaubt?

Hoffe ihr habt mich verstanden und könnt mir helfen ...

Sir Henry

Pensionierter Oberbordschrauber

Beiträge: 1 710

Registrierungsdatum: 24. Mai 2003

  • Nachricht senden

2

Samstag, 16. Dezember 2006, 22:51

Du verwechselst da was. Der PRIMARY KEY kann beliebig sein, muss keine Zahl sein, kann auch ein Text sein, solange er eindeutig ist.

Evtl. gibt es eine Längenbegrenzung auf 255 Zeichen. Wenn du INT(255) schreibst, kann deine Zahl (theoretisch!) bis zu 255 Ziffern haben!
  Cheers, Sir Henry
Schon im Anno-Pool vorbeigeschaut?

martinmartimeo

Boardsmutje

  • »martinmartimeo« ist der Autor dieses Themas

Beiträge: 971

Registrierungsdatum: 17. September 2006

  • Nachricht senden

3

Sonntag, 17. Dezember 2006, 00:24

Ich meine mit diesem Primary Key, den der sich immer von alleine hochzählt, der auch das Attribut auto_increment hat.
Nun ich habe schon versucht ihn höher zu setzen, aber
Int sind nur bis 255 erlaubt,
außer Ints dürfen keine das Attribute auto_increment irgendwie tragen?

Dass heißt zu deutsch ich habe irgendwie nur 255 Reihen maximal...
:scratch: :scratch: :scratch:
(Was ich mich aber dann frage wie größere Internetseiten/Foren das dann machen, dass sich mehr als 255 Leute anmelden können?)

Oder werfe ich jetzt immer noch etwas zusammen, :scratch:

Auf jeden Fall erstmal Danke :hey:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »martinmartimeo« (17. Dezember 2006, 00:24)


EmGE

Steuermann

Beiträge: 164

Registrierungsdatum: 15. November 2006

  • Nachricht senden

4

Sonntag, 17. Dezember 2006, 01:01

wie henry schon gesagt hat bedeutet die zahl 255 das der Int MAXIMAL 255 zeichen lang is... ich hab bei meinem gästebuch auf meiner homepage beispielsweise den Primary Key auf int(11) begrenzt da ich meine das 99999999999 einträge mehr als genug sind ;)

PS: ich hab schon 102 einträge drin... somit kann int(11) nicht bedeuten das nur 11 einträge möglich sind... aja er beginnt standardmäßig bei 1 an zu zählen... also nix mit 256...

hoffe geholfen zu haben...
  Ihr seid ja nur neidisch, dass die Stimmen nur mit mir reden...

Xisdown

Ausguck

Beiträge: 59

Registrierungsdatum: 31. Oktober 2006

  • Nachricht senden

5

Sonntag, 17. Dezember 2006, 02:56

wäre 11 nicht 2^11? Also 2048?

Sir Henry

Pensionierter Oberbordschrauber

Beiträge: 1 710

Registrierungsdatum: 24. Mai 2003

  • Nachricht senden

6

Sonntag, 17. Dezember 2006, 09:48

Nein, es ist tatsächlich die Stringlänge, nicht die Anzahl von Bits. Außerdem reichen 11 Bits bei Integer nur bis 1023. :P

@Martin: Gibt es eine Fehlermeldung, wenn du eine höhere Zahl einträgst?
  Cheers, Sir Henry
Schon im Anno-Pool vorbeigeschaut?

Xisdown

Ausguck

Beiträge: 59

Registrierungsdatum: 31. Oktober 2006

  • Nachricht senden

7

Sonntag, 17. Dezember 2006, 11:43

aber nur, wenn man bei -1024 anfängt
Also entweder
von -1024 bis 1023
oder
von 0 bis 2047

aber da es ja doch die String-Länge ist, kann das einem eh egal sein

Bomi

Meister der Kleintools

Beiträge: 3 175

Registrierungsdatum: 2. Mai 2003

  • Nachricht senden

8

Sonntag, 17. Dezember 2006, 14:58

Ich habe bisher immer "`ID` INT NOT NULL AUTO_INCREMENT" verwendet, gab keinerlei Probleme :scratch:
  ATH, Bomi

Contests: 2008 BEC BOC 1602 | 2007 BEC BOC | 2006 BEC BOC | 2005 BEC BOC | 2004 BEC

ANNOTunesANNOToolsMetropolaris, Georgolaris1602-Zeugs1503-SzenarienDieter's 1503-Editor

martinmartimeo

Boardsmutje

  • »martinmartimeo« ist der Autor dieses Themas

Beiträge: 971

Registrierungsdatum: 17. September 2006

  • Nachricht senden

9

Sonntag, 17. Dezember 2006, 17:14

ok, danke jetzt bin cih schlauer:

Also Int(11) mein einen Integer mit 11 Zeichen OK, danke

P.S. es gibt eine Fehlermeldung wenn du Int(300) nimmst, also können keine Zahlen mit mehr als 255 Stellen gespeichert werden.

Zitat


Ich habe bisher immer "`ID` INT NOT NULL AUTO_INCREMENT" verwendet, gab keinerlei Probleme kopfkratz

Habs ausprobiert, dann wird die maximale Ziffernlänge auf 11 gesetzt.

Danke, weiß jetzt aber alles was ich brauch, kann also geschlossen werden. :D

EmGE

Steuermann

Beiträge: 164

Registrierungsdatum: 15. November 2006

  • Nachricht senden

10

Sonntag, 17. Dezember 2006, 19:18

das is der key... ich glaub kaum das es möglich ist eine 255 stellige zahl an zeilen irgendwo zu haben ;) ausserdem tut mir dann die DB leid... und der server der das ausgeben muss erst recht
  Ihr seid ja nur neidisch, dass die Stimmen nur mit mir reden...

Ano321

SeeBär

Beiträge: 213

Registrierungsdatum: 5. November 2006

  • Nachricht senden

11

Mittwoch, 3. Januar 2007, 18:47

Ein Integer kann maximal 10 Stellen haben.
Wenn du nur 255 Zeilen brauchst solltest du ein signed TinyInt benutzen.

http://dev.mysql.com/doc/refman/5.1/de/n…e-overview.html

martinmartimeo

Boardsmutje

  • »martinmartimeo« ist der Autor dieses Themas

Beiträge: 971

Registrierungsdatum: 17. September 2006

  • Nachricht senden

12

Mittwoch, 3. Januar 2007, 19:24

Integer kann auf jeden Fall mehr als 10 Stellen haben, da ich zur Zeit ein Logginsytem aufbaue, welches 1.000.000.000.000 (=12) Benutzer registrieren kann und es gab kleinen Fehler bei der Erstellung von Int(12) und int(255).

Aber, Frage ist erledigt, bitte closen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »martinmartimeo« (3. Januar 2007, 19:24)