Comment écrire un déclencheur d'insertion MySql basé sur la valeur des données insérées ?
P粉277305212
P粉277305212 2024-04-03 16:42:38
0
1
364

Je souhaite écrire un déclencheur pour les utilisateurs de table. Lorsqu'un nouvel utilisateur est ajouté, si son titre est lié à l'informatique, un enregistrement est créé dans le tableau Liste des contacts informatiques.

J'ai donc écrit le déclencheur suivant.

CREATE TRIGGER `test1` INSERT ON `Users` FOR EACH ROW BEGIN
IF INSTR(Title,'IT') > 0
THEN
INSERT INTO IT_contact_list (name,title) value (username,Title);
END IF;
END;

Il contient l'erreur "En-tête de colonne de champ inconnu dans la liste" mais il existe dans les tables Utilisateurs et IT_contact_list. Donc quel est le problème? Merci.

P粉277305212
P粉277305212

répondre à tous(1)
P粉448130258

Fixé et testé sur établi. Essayez ceci :

delimiter //
drop trigger if exists test1 //
CREATE TRIGGER `test1` AFTER INSERT ON `Users` FOR EACH ROW BEGIN
IF INSTR(new.Title,'IT') > 0
THEN
INSERT INTO IT_contact_list (name,title) value (new.username,new.Title);
END IF;
END//

insert into Users values('john','HardwareIT');
insert into Users values('bill','Hardware engineer');
select * From IT_contact_list;

--result set:
 john    HardwareIT
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal