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
Editer la configuration de MariaDb
Related questions
- Lien database non établi
17265
06.12.2016 11:04
- Intégration de MongoDB
17083
12.10.2016 09:01
- Autoriser toutes les IP
16997
11.08.2018 19:16
- "Connection timed out" - Connection MySQL privée via PHP
16014
13.02.2018 00:37
- Comment passer de MySQL 5.6 à MySQL 8.0 ?
15550
12.06.2019 15:49
- Help, Base de donnée pleine, supprimer product ID phpmyadmin
14084
12.06.2019 14:05
- [1034] Create index by sort failed
14030
06.03.2020 09:31
- Exporter la base de données avec un script PHP
13237
05.10.2018 11:27
- Connexion à base de données en utilisant ODBC
12875
04.09.2018 11:57
- Les connexions simultanées
12751
24.10.2019 13:23
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.