Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2006, 08h24   #1
Invité de passage
 
Inscription : mars 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 3
Points : 2
Points : 2
Envoyer un message via MSN à Lomme
Par défaut Probleme de trigger

Bonjour,

J'ai fais un trigger qui génere une clé primaire automatiquement pour une table :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
delimiter //
DROP TRIGGER tTypeInter//
CREATE TRIGGER tTypeInter BEFORE INSERT ON type_interval
FOR EACH ROW 
BEGIN
 
DECLARE Temp CHAR(9);
	UPDATE seqtypeinter SET id=LAST_INSERT_ID(id+1);
	SELECT CAST(id AS CHAR) INTO temp FROM seqtypeinter;
 
	SET Temp = LPAD(Temp,9,'0');
	SET NEW.IdType= 'T' || Temp;
	SELECT * FROM NEW.IdType;
END//
delimiter ;
Quand je crée le trigger, il n'y a pas d'erreur. Mais quand je veux faire un insert dans la table, il me dit :

Code :
1
2
 
ERROR 1364 (HY000): FIELD 'IdType' doesn't have a default value
Voila ma table :

Code :
1
2
3
4
5
 
CREATE TABLE TYPE_INTERVAL (
     IdType varchar(10) NOT NULL,
     Duree numeric(1) NOT NULL,
     constraint ID_TYPE_INTERVAL PRIMARY KEY (IdType));
Et mon Insert :

Code :
1
2
 
INSERT INTO type_interval(Duree) VALUE(5)
Je ne trouve pas comment ça ce fait, pouvez vous m'aider svp ?

Merci
Lomme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2006, 10h39   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Par défaut Re: Probleme de trigger

Citation:
Envoyé par Lomme
Code :
1
2
 
	SET NEW.IdType= 'T' || Temp;
Temp doit être null ce qui fait que 'T' || Temp renvoie null. Et comme la colonne IdType est NOT NULL sans valeur par défaut...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h06.


 
 
 
 
Partenaires

Hébergement Web