Bonjour,
j'obtiens cette erreur lorsque je veux rentrer un texte de plus de 10 caractères dans un VARCHAR(10).
Je ne ceomprends pas car d'aprés la doc MySQL, mysql doit tronquer à 10 et ne pas provoquer d'erreur.
Une idée ?
@+
Version imprimable
Bonjour,
j'obtiens cette erreur lorsque je veux rentrer un texte de plus de 10 caractères dans un VARCHAR(10).
Je ne ceomprends pas car d'aprés la doc MySQL, mysql doit tronquer à 10 et ne pas provoquer d'erreur.
Une idée ?
@+
Peut-être regarder du côté du SQL mode ?
Citation:
If you assign a value to a CHAR or VARCHAR column that exceeds the column's maximum length, the value is truncated to fit. If the truncated characters are not spaces, a warning is generated.
For truncation of non-space characters, you can cause an error to occur (rather than a warning) and suppress insertion of the value by using strict SQL mode. See Section 5.2.5, “The Server SQL Mode”.
effectivement, j'ai ça :
Il me faut enlever le STRICT_TRANS_TABLES ?Code:
1
2
3
4
5
6
7 mysql> SELECT @@global.sql_mode; +----------------------------------------------------------------+ | @@global.sql_mode | +----------------------------------------------------------------+ | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +----------------------------------------------------------------+
@+
bon maintenant ça me fait un warning ...
Donc résolu ?
oui résolu si on considère qu'il est normal d'avoir un warning ...
En tout cas merci
De rien
D'après la doc (et la logique un peu) oui c'est normal ;)