Feldlänge nachträglich erhöhen
Eingetragen von Toro (49)
am 15.11.2012 - 10:08 Uhr in
am 15.11.2012 - 10:08 Uhr in
Hallo zusammen,
ich hoffe, hier kein passendes Thema übersehen zu haben.
Ich muss nachträglich die maximale Länge eines Feldes ändern.
Der aktuelle Wert ist
varchar(255)
und ich benötige
varchar(800)
Wenn ich das über PHPMy-Admin direkt ändere (zusätzlich auch das gleiche Revision-Feld), zeigt Drupal 7 immer noch die Maximallänge von 255 bei der Feldeinstellung an, auch wenn ich den Cache mehrfach leere.
An varchar kann es nicht liegen; denn ein soeben eingerichtetes Testfeld mit dem Wert
varchar(800)
funktioniert einwandfrei.
Welche Einstellung muss ich in der Datenbank noch ändern?
Danke Euch
Toro
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich habe mal kurz gegoogelt
am 15.11.2012 - 10:13 Uhr
Ich habe mal kurz gegoogelt und das gefunden.
Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions. The effective maximum length of a VARCHAR in MySQL 5.0.3 and later is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used.
Drupal dürfte noch auf der älteren Definition aufbauen. Da kannst Du im Moment nichts machen.
Beste Grüße
Werner
Hallo Werner, danke. Du bist
am 15.11.2012 - 10:20 Uhr
Hallo Werner,
danke. Du bist schnell!
Gibt es denn Probleme, wenn ich varchar(800) in der Datenbank einstelle und die (wenigen) tatsächlich so langen Einträge direkt in der Datenbank vornehme anstatt über das Drupal-Backend? Oder verträgt Drupal das auf Dauer nicht?
Viele Grüße
Hast du schon eine Lösung?
am 11.12.2012 - 16:04 Uhr
Hallo Toro,
hast du schon eine Lösung für das Problem ? Ich muss die Feldeinstellungen auch erhöhen und bin mir nicht sicher wie ich es mache.
Grüße
Marco
Und warum muß es unbedingt
am 11.12.2012 - 18:52 Uhr
Und warum muß es unbedingt ein Textfeld sein und nicht eine Textarea? Solange Drupal die größere Länge für Textfelder nicht vorsieht, würde ich da nicht dran drehen wollen. Da bei sauberer Programmierung das Textfeld immer auf eine gültig Länge abgeschnitten wird, wird Dir eine Änderung in der Datenbank auch nichts nutzen.
Beste Grüße
Werner
Hallo Marco!hirtenjunge
am 12.12.2012 - 14:15 Uhr
Hallo Marco!
hast du schon eine Lösung für das Problem ? Ich muss die Feldeinstellungen auch erhöhen und bin mir nicht sicher wie ich es mache.
Ich konnte die Einstellungen direkt über phpMyAdmin ändern und den Eintrag dort vornehmen. Drupal zeigt diesen dann korrekt an. Der Nachteil ist, dass es immer, wenn der node bearbeitet wird, eine Fehlermeldung gibt. Es führt also kein Weg um die Datenbank. Das Ganze ist also mehr als suboptimal.
Werners Einwand ist mehr als berechtigt. In meinem Fall wollte ich das Textfeld nicht in eine Textarea umändern; denn ich benötige das lange Textfeld nur für einen einzigen Eintrag. Dann ist der Weg über die Datenbank zu verkraften.
Gruß
Toro
Schade Danke
am 18.12.2012 - 15:49 Uhr
Hi,
ja bei mir ist es recht kompliziert, da es sich um ein Referenzfeld handelt kann ich es nicht "einfach" erneuern. Ich muss Drupal irgendwie die neue Länge beibringen. In Drupal 6 ging das glaube ich.
Danke Gruß
Marco
Das ging auch bei Drupal 6
am 18.12.2012 - 16:50 Uhr
Das ging auch bei Drupal 6 nicht.
Beste Grüße
Werner
Lösung?
am 18.12.2012 - 21:10 Uhr
Hi Toro,
ich habe gerade in meinem Demo und in meinem Live System die Einstellungen geändert:
hier die Anleitung nach der ich gearbeitet habe:
http://drupal.stackexchange.com/questions/8829/how-to-change-the-length-...
Und von google Translation:
http://translate.googleusercontent.com/translate_c?depth=1&ei=W4PQUO_bPM...
Ich habe nach den Änderungen noch eine Fehlermeldung gehabt weil in der Datenbank auch die Tabelle field_revision_field_DEIN_TEXTFELD` entsprechend geändert werden muss.
Bei Fragen gern bescheid geben !
Gruß
Marco