2009-05-19 12 views
5

Spesso, quando mi definisco una visualizzazione in Navicat ho visualizzato il seguente messaggio:Visualizzazioni MySQL in Navicat - Come definire "chiave primaria"?

xxx non ha una chiave primaria. Gli aggiornamenti di questa tabella sarà fatto utilizzando la seguente istruzione pseudo: UPDATE xxx ModifiedFieldsAndValues ​​set dove AllFieldsAndOldValues ​​LIMIT 1

Ovviamente io uso solo le mie opinioni per visualizzazione dati, non aggiornamento. Ma questo mi ha incuriosito:

C'è un modo per definire una "chiave primaria" o "indice univoco" su una vista?

risposta

0

è implicito che la vista utilizza gli indici e le chiavi primarie della sua tabella di base. È possibile modificare la semantica di come inserto e gli aggiornamenti si verificano quando li utilizzano tramite viste giocando con le opzioni CASCADING VEDI

See Updatable and Insertable Views

+2

Ok, ma la maggior parte vista costituito da più tabelle che sono uniti insieme ... lo fa automaticamente controllare se esiste una combinazione unica di indici? – Ropstah

+0

@Ropstah, Perché ciò accada, ha bisogno comunque di un indice. 'Mostra i tasti nella vista 'ti dà un set vuoto? – Pacerier