sql >> Database >  >> RDS >> Mysql

MySQL-fout:1395 Kan niet verwijderen uit deelnameweergave

In de MySQL-documentatie staat:

MySQL presteert zoals ontworpen en voorkomt dat je jezelf hier in de voet schiet. In wezen komt het aantal rijen dat zou worden verwijderd uit uw weergave niet overeen met het aantal rijen dat zou worden verwijderd uit de onderliggende tabellen. Wil je ook de foto, het uiterlijk, de persoon of de fotograaf verwijderen? Of allemaal? Of slechts enkele? MySQL weet het ook niet zeker, dus het staat de bewerking niet toe.

Met dat in gedachten, voer deze query uit:

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

Als het resultaat iets anders is dan "JA", kunt u overwegen uw weergave opnieuw te ontwerpen. De andere optie is om direct uit de onderliggende tabellen te verwijderen.

Het is ook een goed idee om een ​​bijwerkbare weergave te maken met behulp van de clausule "WITH CHECK OPTION". Dit voorkomt UPDATE's of INSERT's naar onderliggende tabellen, behalve die welke voldoen aan de voorwaarden die zijn gedefinieerd in de WHERE-clausule van de view. Of in jouw geval, voorkom dat Fred knoeit met Bobs foto's.




  1. Hoe kan ik een exemplaar van het laatst toegevoegde item ophalen?

  2. Gebruik van php-variabelen in MySQL insert statement

  3. Zoek naar een bepaalde string in de Oracle clob-kolom

  4. Installeer SQL Server 2019 op een Mac