Impostare attributo in base al numero di entry in altra tabella

di il
1 risposte

Impostare attributo in base al numero di entry in altra tabella

Ciao a tutti, sono nuovo del forum, quindi perdonatemi in caso facessi qualcosa di sbagliato.
Ho incontrato un problema, ho 2 tabelle: utente e luogo.
la tabella utente ha un attributo intero 'numeroLuoghi', vorrei sapere se esiste un modo di collegare questo attributo al numero di entries presenti nella tabella luogo, in modo tale che se ho 3 entries nella tabella luogo, l'attributo numeroLuoghi di utente abbia valore 3, e che automaticamente se aggiunto una entry nella tabella luogo, numeroLuoghi sia automaticamente aggiornato per mostrare il numero corretto di entries (4).

Uso heidiSQL e per ora ho provato a impostare il valore predefinito di numeroLuoghi come espressione, tale espressione sarebbe
SELECT COUNT(*) FROM luogo. Questa funziona come semplice query, tuttavia se la imposto come espressione mi dice che ho un errore di sintassi.

Se qualcuno riesce ad aiutarmi (sono parecchio estraneo al mondo SQL quindi abbiate pazienza ) ve ne sarei estremamente grato.

Ringrazio in anticipo tutti.

1 Risposte

  • Re: Impostare attributo in base al numero di entry in altra tabella

    Ciao,
    puoi condividere la query che provi a fare?
    Tecnicamente una cosa così dovrebbe andare:
    
    
    UPDATE utente, 
        ( SELECT COUNT(*) AS numero 
          FROM luogo)  AS n_luoghi 
        SET utente.numeroLuoghi = n_luoghi.numero 
        WHERE utente.id = myid;
    
    
    tralasciando la clausola WHERE lo applichi a tutta la tabella utente.
Devi accedere o registrarti per scrivere nel forum
1 risposte