Hauptmenü

Größenänderung von Feldern in der DB

Begonnen von kornexl, 15.11.2018 08:40:39

⏪ vorheriges - nächstes ⏩

kornexl

Ich bekomme immer häufiger Fehlermeldungen der folgenden Art:
Message: Data too long for column 'source_key' at row 1, SQL: '
            INSERT INTO link_relation
(source_object_id, source_key, target_object_id, target_key,
type_id, state_id, create_time, create_by)
            VALUES (?, ?, ?, ?, ?, ?,
        '2018-11-14 16:47:41'    , ?)'
Der einzutragende Text (Mailadresse) ist länger als das Datenfeld source_key  (ist varchar(50))Kann die Größe dieses DB-Feldes ohne Seiteneffekte irgendwo erhöht werden?

GIS Techniker


Hallo kornexl


Bist Du dir sicher das es der [font=] source_key  (ist varchar(50))  Eintrag ist??[/font]
[font=]
[/font]
[font=]Eine Mailadresse von 50 Zeichen????[/font]

kornexl


Ja, die monierten Mailadressen haben mehr als 50 Zeichen.


GIS Techniker


Danny Bochmann

Hallo kornexl,

ja das ist korrekt und mir sind auch bereits ein oder zwei Fälle bekannt wo dieses Problem bereits aufgetreten ist.
Das Problem ist an dieser Stelle, dass das Feld in der customer_user Tabelle (email) die Eigenschaft "VARCHAR (150)" besitzt und das Feld source_key (link_relation) die Eigenschaft "VARCHAR (50)".

Du kannst an dieser Stelle den Wert in der Tabelle link_relation ebenfalls auf "VARCHAR (150)" ändern.

VG
Danny

kornexl

Kann ich dies in der DB direkt machen mit "Alter table .." oder sollte es in einer Anwendungsdatei eingetragen sein, damit es bei einem Update auch bestehen bleibt?


Danny Bochmann

Hallo kornexl,

nein du kannst es direkt in der Datenbank ändern, da die Anwendungsdatei bei bedarf Überschrieben wird.
Der Vorteil sobald du die Spalte vergrößert hast, kann diese nicht wieder zurück geändert werden.
Demnach ist diese Änderung auch unabhängig von Updates.

VG
Danny

kornexl

Danke,
grad heute war wieder ein solcher Fall: Customer-MicrosoftExchange329e71ec88ae4615bbc36ab6ce41109e@ads.uni-passau.de