Ho una formula di istruzione di aggiornamento per una tabella e la dichiarazione funziona, ma voglio aggiornare la mia tabella automaticamente ogni volta che aggiungo nuovi dati, quindi ho pensato di utilizzare invece una vista.
Questa è la mia dichiarazione di aggiornamento:
followers f left outer join
followers f2
on f2.id = f.id
set f.Growth = f.Growth_Speed/(SELECT AVG(f.Growth_Speed) FROM (SELECT f.Growth_Speed from followers f WHERE f.id <= f.id+1));
Ed ecco la mia dichiarazione di View:
CREATE VIEW `followers_view` AS
select
`followers`.`id` AS `id`,
`followers`.`date` AS `date`,
`followers`.Growth_Speed` AS `Growth_Speed`
From `my_database.followers`;
Vorrei aggiungere quell'aggiornamento come una quarta colonna nella vista ma non sono sicuro di come procedere.
Grazie
risposte:
0 per risposta № 1Devi impostare a grilletto alla tabella in cui si desidera effettuare l'aggiornamento quando si inseriscono nuovi dati
Il codice dovrebbe essere qualcosa del genere:
CREATE TRIGGER update_table AFTER INSERT ON followers
FOR EACH ROW
BEGIN
followers f left outer join followers f2 on f2.id = f.id
set f.Growth = f.Growth_Speed/(SELECT AVG(f.Growth_Speed) FROM (SELECTf.Growth_Speed from followers f WHERE f.id <= f.id+1));
END
Immagino che follower sia la tabella in cui inserisci i dati e quella in cui vuoi aggiornare.