Wie schreibe ich einen MySql-Einfügetrigger basierend auf dem eingefügten Datenwert?
P粉277305212
P粉277305212 2024-04-03 16:42:38
0
1
401

Ich möchte einen Trigger für Tabellenbenutzer schreiben. Wenn ein neuer Benutzer hinzugefügt wird und sein Titel IT-bezogen ist, wird ein Datensatz in der Tabelle „IT-Kontaktliste“ erstellt.

Also habe ich den folgenden Trigger geschrieben.

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;

Es gibt den Fehler „Unbekannter Feldspaltenkopf in der Liste“, aber er ist in den Tabellen „Benutzer“ und „IT_contact_list“ vorhanden. Also, was ist das Problem? Danke.

P粉277305212
P粉277305212

Antworte allen(1)
P粉448130258

已在工作台中修复并测试。试试这个:

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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage