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

Errore MySQL:1395 Impossibile eliminare dalla vista join

La documentazione MySQL afferma:

MySQL funziona come previsto e ti impedisce di spararti ai piedi qui. In sostanza, il numero di righe che verrebbero eliminate dalla visualizzazione non corrisponde al numero di righe che verrebbero eliminate dalle tabelle sottostanti. Inoltre, vuoi eliminare la foto, l'aspetto, la persona o il fotografo? O tutti? O solo alcuni di loro? Anche MySQL non lo sa con certezza, quindi non consente l'operazione.

Tenendo presente ciò, esegui questa query:

SELECT IS_UPDATABLE
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'v1';

Se il risultato è qualcosa di diverso da "SÌ", potresti prendere in considerazione la possibilità di riprogettare la tua vista. L'altra opzione sarebbe quella di eliminare direttamente dalle tabelle sottostanti.

Inoltre è una buona idea creare una vista aggiornabile utilizzando la clausola "WITH CHECK OPTION". Ciò impedisce UPDATE o INSERT alle tabelle sottostanti, ad eccezione di quelle che soddisfano le condizioni definite nella clausola WHERE della vista. O nel tuo caso, impedisci a Fred di scherzare con le foto di Bob.