Erreur ! SQLSTATE[HY000]: General error:
RésoluLaChaux78 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
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)
- Sqlstate[hy000] [2002] aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée
- Gmail connexion - Guide
- Ordinateur - Guide
- Ordinateur qui rame - Guide
- Réinitialiser ordinateur - Guide
- Clavier de l'ordinateur - Guide
3 réponses
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 )
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)
Dailleurs..ton champ mail est de type 'int' ?
Donc c'est un nombre que tu veux y stocker ?,
Ou accepter que le champ contienne une valeur NULL.