/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL Data too long for column
Fra : Peter


Dato : 20-11-08 22:20

Jeg har lige installeret MySQL 5 og modsat version 4 så får man fejlen:
Data too long for column 'etnavn' at row 1

hvis man forsøger at indsætte tekst i en f.eks. varchar(50) som er længere
end 50. I MySQL 4.0 der blev det overskydende blot klippet væk.

Findes der en let løsning på dette problem?

/P



 
 
Lars Kongshøj (20-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 20-11-08 22:27

Peter wrote:
> Jeg har lige installeret MySQL 5 og modsat version 4 så får man fejlen:
> Data too long for column 'etnavn' at row 1
>
> hvis man forsøger at indsætte tekst i en f.eks. varchar(50) som er længere
> end 50. I MySQL 4.0 der blev det overskydende blot klippet væk.
>
> Findes der en let løsning på dette problem?

Ja: Det rigtigste og nemmste er vel at designe kolonnerne, så de kan
indeholde de data, du forsøger at indsætte i dem?

Men hvis du mener en løsning, som er kompatibel med din tidligere
installation skal du se på substr. Jeg kan dog ikke se at det skulle
være nemmere end den førstnævnte løsning

/Lars

Peter Lykkegaard (21-11-2008)
Kommentar
Fra : Peter Lykkegaard


Dato : 21-11-08 00:00

"Lars Kongshøj" skrev

> Men hvis du mener en løsning, som er kompatibel med din tidligere
> installation skal du se på substr.

Left burde kunne gøre det
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

- Peter


Arne Vajhøj (21-11-2008)
Kommentar
Fra : Arne Vajhøj


Dato : 21-11-08 01:15

Peter wrote:
> Jeg har lige installeret MySQL 5 og modsat version 4 så får man fejlen:
> Data too long for column 'etnavn' at row 1
>
> hvis man forsøger at indsætte tekst i en f.eks. varchar(50) som er længere
> end 50. I MySQL 4.0 der blev det overskydende blot klippet væk.
>
> Findes der en let løsning på dette problem?

Kan du ikke klare det med IGNORE option i din INSERT ?

http://dev.mysql.com/doc/refman/5.0/en/insert.html

Data conversions that would trigger errors abort the statement if IGNORE
is not specified. With IGNORE, invalid values are adjusted to the
closest values and inserted; warnings are produced but the statement
does not abort.

Men .............. - umiddelbart synes jeg da at en fejl er
den korrekte opførsel !

Arne

Peter (22-11-2008)
Kommentar
Fra : Peter


Dato : 22-11-08 13:10

"Arne Vajhøj" <arne@vajhoej.dk> skrev i en meddelelse
news:4925fd65$0$90274$14726298@news.sunsite.dk...
> Peter wrote:
>> Jeg har lige installeret MySQL 5 og modsat version 4 så får man fejlen:
>> Data too long for column 'etnavn' at row 1
>>
>> hvis man forsøger at indsætte tekst i en f.eks. varchar(50) som er
>> længere end 50. I MySQL 4.0 der blev det overskydende blot klippet væk.
>>
>> Findes der en let løsning på dette problem?
>
> Kan du ikke klare det med IGNORE option i din INSERT ?
>
> http://dev.mysql.com/doc/refman/5.0/en/insert.html
>
> Data conversions that would trigger errors abort the statement if IGNORE
> is not specified. With IGNORE, invalid values are adjusted to the closest
> values and inserted; warnings are produced but the statement does not
> abort.
>
> Men .............. - umiddelbart synes jeg da at en fejl er
> den korrekte opførsel !

Der hvor det drejer sig om hjemmesider har jeg brugt maxlength="xx" ved
indtastning af text felter.

Men jeg syntes nu stadig MySQL 4´s måde at håndtere det på var smartere.

Tak for svarene.

/P



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste