sql >> Database teknologi >  >> RDS >> Mysql

hvordan får man værdi fra udvalgt forespørgsel i trigger i mysql5?

Til en INSERT Trigger-forespørgsel ville du bruge objektet NEW
Til en UPDATE Trigger-forespørgsel ville du bruge objektet OLD og NEW
Til en DELETE Trigger-forespørgsel ville du bruge objektet OLD

Eksempel 1:hvis du kørte INSERT INTO mytable (num) VALUES (10);
I INSERT-triggeren refererer du til kolonnen som NEW.num (10);

Eksempel 2 :hvis du kørte OPDATERING mintabel SET num =41 HVOR num =10;
I UPDATE-triggeren refererer du til OLD.num (10) og NEW.num (41)

Eksempel 3:hvis du kørte DELETE mytable num =104;
I DELETE-triggeren refererer du til OLD.num (104)

Brug noget som dette:

DELIMITER $$

create trigger my_trigger
AFTER UPDATE on my_update_table
for each row
begin

    DECLARE P1,P2 VARCHAR(50);

    SELECT PRICENAME INTO P1 FROM PRICEIES WHERE PRICEID=OLD.PRICEID;
    SELECT PRICENAME INTO P2 FROM PRICEIES WHERE PRICEID=NEW.PRICEID;
    INSERT INTO AUDITLOG(OLDVALUE, NEWVALUE) VALUES (P1,P2);

end $$

DELIMITER ;



  1. Hvor vigtige er begrænsninger som NOT NULL og FOREIGN KEY, hvis jeg altid vil kontrollere min databaseinput med PHP?

  2. PowerManager.PARTIAL_WAKE_LOCK android

  3. Få medarbejdere, der var aktive i et bestemt datointerval

  4. SQL LEFT-JOIN på 2 felter til MySQL