Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menulis pencetus sisipan MySql berdasarkan nilai data yang dimasukkan?

Saya ingin menulis pencetus untuk pengguna jadual. Apabila pengguna baharu ditambah, jika tajuknya berkaitan IT, rekod dibuat dalam jadual Senarai Kenalan IT.

Jadi saya menulis pencetus berikut.

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;

Ia mempunyai ralat "Pengepala lajur medan tidak diketahui dalam senarai" tetapi ia wujud dalam jadual Pengguna dan IT_contact_list. Jadi apa masalahnya? terima kasih.

P粉277305212P粉277305212220 hari yang lalu350

membalas semua(1)saya akan balas

  • P粉448130258

    P粉4481302582024-04-04 10:30:24

    Ditetapkan dan diuji di meja kerja. Cuba ini:

    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

    balas
    0
  • Batalbalas