MySQL-foutcode 1175 tijdens UPDATE in MySQL

Mysql Foutcode 1175 Tijdens Update In Mysql



'Wanneer u met MySQL-databases werkt, kunt u de 'Foutcode 1175' tegenkomen die wordt geactiveerd bij het uitvoeren van een UPDATE- of DELETE-instructies.'

In dit bericht wordt de oorzaak van deze fout besproken en hoe we deze kunnen oplossen met behulp van de MySQL-server.







Wat veroorzaakt de 'MySQL-foutcode 1175'?

De 'MySQL-foutcode 1175' treedt op bij het uitvoeren van een UPDATE- of DELETE-bewerking zonder de WHERE-clausule te gebruiken.



Standaard gebruikt MySQL een functie genaamd safe_mode die voorkomt dat u een UPDATE- of DELETE-instructie uitvoert zonder een WHERE-clausule. Dit voorkomt onbedoeld gegevensverlies op het doel.



Daarom, wanneer de safe_mode-functie is geactiveerd, retourneert MySQL de foutcode 1175 bij elke DELETE- of UPDATE-bewerking die geen WHERE-clausule bevat.





Een voorbeeld is hieronder weergegeven:

update sakila.film set titel = 'Nieuwe titel' ;



In dit geval proberen we de waarde van de titelkolom te wijzigen zonder aan te geven op welke rij we ons willen richten. Dit kan ertoe leiden dat we de hele tabel overschrijven met de opgegeven waarde. Daarom zal MySQL dit voorkomen en een fout retourneren zoals weergegeven:

MySQL Controleer of Safe_Mode is ingeschakeld

De status van de safe_mode-functie wordt opgeslagen in de variabele sql_safe_updates. Daarom kunnen we de waarde van deze variabele ophalen om te bepalen of de safe_mode-functie is ingeschakeld of niet.

De vraag is zoals weergegeven:

toon variabelen zoals 'sql_safe_updates' ;

De query moet de staat retourneren zoals weergegeven:

+------------------+-------+
| Variabele_naam | Waarde |
+------------------+-------+
| sql_safe_updates | AAN |
+------------------+-------+
1 rij in set ( 0,00 sec )

In dit geval kunnen we zien dat de safe_mode-functie is ingeschakeld tijdens de sessie.

Hoe 'MySQL-foutcode 1175' op te lossen

De beste manier om dit type fout op te lossen, is door een WHERE-component te gebruiken. In sommige gevallen is het echter mogelijk dat we een UPDATE of DELETE moeten uitvoeren zonder enige voorwaarde.

Om dit te doen, kunnen we de safe_mode-functie in de sessie uitschakelen, zodat we de query kunnen uitvoeren. Vervolgens kunnen we de opdracht SET gebruiken, gevolgd door de naam van de variabele en de waarde die we willen instellen.

Om bijvoorbeeld safe_mode uit te schakelen, stellen we de waarde van de sql_safe_updates variabele in op 0. De query is als volgt:

SET SQL_SAFE_UPDATES = 0 ;

Om het in te schakelen, stelt u de waarde in op 1 als:

SET SQL_SAFE_UPDATES = 1 ;

In MySQL Workbench kunt u de safe_mode-functie uitschakelen door naar Bewerken-> Voorkeuren -> SQL-editor te gaan

De functie 'Veilige updates' uitgeschakeld en uw sessie naar de server opnieuw gestart.

Beëindiging

Je hebt de oorzaak van de 'MySQL-foutcode 1175' in dit bericht geleerd bij het uitvoeren van UPDATE- of DELETE-instructies. U hebt ook geleerd hoe u de fout kunt oplossen door de functie MySQL safe_mode uit te schakelen.