Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro do MySQL:1395 Não é possível excluir da visualização de junção


A documentação do MySQL afirma:

O MySQL está funcionando conforme projetado e está impedindo que você dê um tiro no pé aqui. Essencialmente, o número de linhas que seriam excluídas de sua exibição não corresponde ao número de linhas que seriam excluídas das tabelas subjacentes. Além disso, você deseja excluir a foto, a aparência, a pessoa ou o fotógrafo? Ou todos eles? Ou apenas alguns deles? O MySQL também não tem certeza, então não permite a operação.

Tendo isso em mente, execute esta consulta:
SELECT IS_UPDATABLE
FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'v1';

Se o resultado for diferente de "SIM", convém considerar redesenhar sua visualização. A outra opção seria excluir diretamente das tabelas subjacentes.

Também é uma boa ideia criar uma visão atualizável usando a cláusula "WITH CHECK OPTION". Isso evita UPDATEs ou INSERTs nas tabelas subjacentes, exceto aquelas que atendem às condições definidas na cláusula WHERE da exibição. Ou, no seu caso, evite que Fred mexa nas fotos de Bob.