Erreur ! SQLSTATE[HY000]: General error:

Résolu/Fermé
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 - 23 févr. 2023 à 17:14
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 - 23 févr. 2023 à 23:15

Bonjour, En voulant faire un INSERT pour un nouvel adhérent je reçois ce message.

Erreur ! SQLSTATE[HY000]: General error: 1364 Field 'mail' doesn't have a default value

Je ne comprends pas pourquoi, je vois simplement qu'il s'agit de l'adresse mail qui n'a pas de valeur par défaut. Que faut-il faire ? je vous envoie ma table SQL concernée. Je vous remercie.

mysql> show full columns from cdc_personnes;
+---------+-------------+--------------------+------+-----+---------+----------------+---------------------------------+-----------------------------------------+
| Field   | Type        | Collation          | Null | Key | Default | Extra          | Privileges                      | Comment                                 |
+---------+-------------+--------------------+------+-----+---------+----------------+---------------------------------+-----------------------------------------+
| idpers  | int         | NULL               | NO   | PRI | NULL    | auto_increment | select,insert,update,references | ID de la personne                       |
| nom     | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Nom de la personne                      |
| prenom  | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Prénom de la personne                   |
| email   | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | e-mail de la personne                   |
| dnaiss  | date        | NULL               | NO   |     | NULL    |                | select,insert,update,references | Date de naissance de la personne        |
| telf    | varchar(20) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Téléphone fixe de la personne           |
| telm    | varchar(20) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Téléphone mobile de la personne         |
| adr1    | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Adresse de la personne                  |
| adr2    | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Complément d'adresse de la personne     |
| lieudit | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Eventuel lieu-dit                       |
| cpostal | varchar(5)  | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Code postal de résidence de la personne |
| ville   | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Ville de résidence de la personne       |
| pseudo  | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Pseudo de l'adhérent                    |
| passwd  | varchar(45) | utf8mb4_general_ci | NO   |     | NULL    |                | select,insert,update,references | Mot de passe de l'adhérent              |
| mail    | int         | NULL               | NO   |     | NULL    |                | select,insert,update,references | Mets à 1 lors de l'envoi de mail        |
+---------+-------------+--------------------+------+-----+---------+----------------+---------------------------------+-----------------------------------------+
15 rows in set (0.01 sec)

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
23 févr. 2023 à 17:47

Bonjour,

Ben....  soit tu définis une valeur par défaut sur ce champ dans ta table

Soit tu envoies une valeur pour ce champ lors de ta requête INSERT ( même si tu ne mets qu'une string vide )


0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié le 23 févr. 2023 à 17:49

Dailleurs..ton champ mail est de type 'int' ?

Donc c'est un nombre que tu veux y stocker ?,

1
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
23 févr. 2023 à 18:11

Ou accepter que le champ contienne une valeur NULL.

0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
Modifié le 23 févr. 2023 à 20:09

Bonjour merci de vos réponses. Mon champ email est de type varchar. J'ai modifié ma requète INSERT pour qu'elle accepte une string vide mais voici l'erreur retournée.

En fait cela concerne l'adresse mail des membres email.

Integrity constraint violation: 1048 Le champ 'email' ne peut être vide (null)

0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié le 23 févr. 2023 à 20:46

Tout à l'heure ça concernait le champ mail 

Maintenant ça concerne le champ email 

Donc c'est un Nouveau message d'erreur ..  mais la réponse sera la même...

0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
23 févr. 2023 à 23:15

Merci beaucoup pour votre aide.

Cordialement.

0