Editer la configuration de MariaDb
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Editer la configuration de MariaDb

by
JulienH
Created on 2018-10-01 14:20:14 (edited on 2024-09-04 10:49:07) in Bases de données

Bonjour,

J'ai un problème de "Data too long for column" j'aimerai donc supprimer le mode strict pour la concatenation se fasse automatiquement :
`SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';`

Le problème c'est que je n'ai pas les droits, on ne peux rien configurer sur le serveur ?
Sur une Débian 9 c'est la valeur par défaut il me semble.

Merci


2 Replies ( Latest reply on 2018-10-04 13:57:36 by
JulienH
)

Bonjour JulienH,

Le mode strict te permets de rester consistant, c'est à dire que ce que tu as en base soit ce que tu as demandé. Exemple avec le mode strict:

MariaDB [testdb]> create table table1 (x varchar(10));
Query OK, 0 rows affected (0.07 sec)
MariaDB [testdb]> insert into table1 values('1234567890abcdef');
ERROR 1406 (22001): Data too long for column 'x' at row 1

La réponse de MariaDB est légitime: d'un côté je lui demande de limiter mes insert à 10 caractères, de l'autre je lui demande d'en insérer 16. Si je supprime le mode strict, j'aurai une inconsistance:

MariaDB [testdb]> insert into table1 values('1234567890abcdef');
Query OK, 1 row affected, 1 warning (0.00 sec)

MariaDB [testdb]> select * from table1;
+------------+
| x |
+------------+
| 1234567890 |
+------------+
1 row in set (0.00 sec)

Tu penses insérer un texte, mais en fait il a été tronqué, sans qu'aucune erreur ne soit levée.

À mon sens, c'est à ton code de vérifier ce cas d'erreur.

Bonjour @MikaelD1,

Je comprend parfaitement le principe mais pour moi c'est un problème de ne peux avoir la main sur la configuration de la base de données. De plus j'ai justement envie que cela soit coupé automatiquement à l'insertion sans devoir le faire dans mon code, c'est prévu) !

Il devrais y avoir la possibilité d'avoir la main sur la configuration si ne c'est pas critique.

Replies are currently disabled for this question.