Forum
Tipps
News
Menu-Icon

varchar() - MySQL

Hallo, ich hab ein seltsames Problem. Auf meinem Mac funktioniert eine Datenbankanwendung mit dem MAMP ohne Probleme. Am Server (www.world4you.com) funktioniert die VARCHAR() - Anweisung nur bis zu einer Größe von 255. Gebe ich varchar (256) oder mehr an, kommt es zu einem Fehler. Ist das nur eine Bosheit der Betreiber, oder sehe ich vor lauter Bäumen den Wald nicht?


Antworten zu varchar() - MySQL:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Das Datenfeld "Varchar" geht nur bis 255 Zeichen, alles darüber musst du mit z.B. einem TEXT-Feld machen, das eine unbegrenzte Zeichenanzahl ermöglicht. Das hat mit Bosheit nix zu tun ;)

BTW: Bei Integer kannst du zwar rein theoretisch auch sagen INT(255), aber das bedeutet dann auch nicht, dass du 255-stellige Zahlen einfügen kannst.
 
« Letzte Änderung: 04.06.08, 13:38:35 von Der olle Schwoebel »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ja danke, meine Unterlagen taugen wohl nix. Hier steht bis zu einer Größe von 65535. Bei MAMP hat es ja auch geklappt. Schon echt seltsam.
Im Testbetrieb geht alles und am Server leuchten die Warnlampen.
Zum Haare raufen manchmal.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Deine Unterlagen sind richtig, aber natürlich versionsspezifisch. VARCHAR hat tatsächlich eine Maximallänge von 65.535 Bytes, aber erst ab MySQL 5. Vorher trafen die genannten 255 Bytes zu. Wahrscheinlich hat dein Hoster einen MySQL-Server < 5.0 laufen.

Vgl. die Manuals:
v.5.0: http://dev.mysql.com/doc/refman/5.0/en/char.html
v.3.23/4.0/4.1: http://dev.mysql.com/doc/refman/4.1/en/char.html

greez 8)
JoSsiF 

---
EDIT:

einem TEXT-Feld machen, das eine unbegrenzte Zeichenanzahl ermöglicht. 

DAS halte ich für ein Gerücht ;)
« Letzte Änderung: 08.06.08, 11:56:08 von JoSsiF »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
DAS halte ich für ein Gerücht ;)

2^16 Zeichen == 65535 Bytes, da hat man schon ne Weile dran zu knabbern - mit MySQL5 und der aufgehobenen Begrenzung von 255 Bytes für VARCHAR macht das dann bei einem "normalen" Textfeld oder "normalem" BLOB wohl kaum einen Unterschied, aber es gibt ja auch noch "MEDIUMTEXT" mit 2^24 Bytes - und 16 MB nur mit Text zu füllen, da kann man ein wenig dran arbeiten (von "LONGTEXT" mit 4 GB ganz zu schweigen).

Das muss man alles in Relation gesetzt sehn ;)

Waynes interessiert: "Speicherbedarf von Spaltentypen":
http://dev.mysql.com/doc/refman/5.1/de/storage-requirements.html

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Der Speicherbedarf ist nicht alles. Aber stimmt schon, da gibt es keine wirklichen Unterschiede zwischen TEXT und VARCHAR. Wen's interessiert: http://dev.mysql.com/doc/refman/5.0/en/blob.html

Man beachte aber noch die Speicherung von VARCHAR und TEXT, die wiederum von der Storage Engine abhängt. Man kann grundsätzlich davon ausgehen, dass bei MyISAM die VARCHAR-Werte in der Tabelle gespeichert werden, während TEXT extern per Referenz abgelegt wird und damit einen nachgezogenen Lesezugriff nach sich zieht. Bei performance-kritischen Systemen könnte das ein Nachteil sein, aber das ist hier sicher uninteressant. Bei InnoDB fliegen diese großen VARCHARs sowieso aus der Tabelle raus.

greez 8)
JoSsiF


« leichter und besser machen2page und ticketnummer »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Application Server
Ein Application Server, zu deutsch Anwedungsserver, ist ein Netzwerkrechner (Server) auf dem verschiedenste Anwendungsprogramme ausgeführt werden können. Der Be...

Printserver
Der Printserver ist ein Rechner im Netzwerk, der den Datenfluß zu einem oder mehreren Druckern steuert und eingehende Druckaufträge in einer Warteschlange verw...

Server
Der Begriff Server stammt aus dem englischen und bedeutet "Diener". In der EDV bezeichntet Server entweder eine Software- oder Hardwarekomponente.   Als Software, ...