"Quando si lavora con i database MySQL, è possibile che si verifichi il" codice di errore 1175 "attivato durante l'esecuzione di un aggiornamento o eliminare le istruzioni."
Questo post discuterà della causa di questo errore e di come possiamo risolverlo utilizzando il server MySQL.
Cosa causa il "codice di errore MySQL 1175"?
Il "codice di errore MySQL 1175" si verifica quando si esegue un'operazione di aggiornamento o elimina senza utilizzare la clausola.
Per impostazione predefinita, MySQL utilizza una funzionalità chiamata Safe_Mode che impedisce di eseguire un'istruzione Aggiornamento o Elimina senza una clausola. Ciò impedisce qualsiasi perdita di dati accidentali sull'obiettivo.
Pertanto, quando la funzione Safe_Mode è attivata, MySQL restituirà il codice di errore 1175 su qualsiasi operazione di eliminazione o aggiornamento che non include una clausola.
Un esempio è mostrato di seguito:
Aggiorna Sakila.Film set title = 'new title';
In questo caso, stiamo tentando di modificare il valore della colonna del titolo senza specificare quale riga desideriamo di targeting. Ciò può comportare la sovrascrittura dell'intera tabella con il valore specificato. Quindi, MySQL impedirà questo e restituirà un errore come mostrato:
Controlla mysql se sake_mode è abilitato
Lo stato della funzione Safe_Mode è archiviato nella variabile SQL_SAFE_UPDATES. Quindi, possiamo recuperare il valore di questa variabile per determinare se la funzione Safe_Mode è abilitata o meno.
La query è come mostrata:
mostra variabili come "sql_safe_updates";
La query dovrebbe restituire lo stato come mostrato:
+------------------+-------+
| Variabile_name | Valore |
+------------------+-------+
| sql_safe_updates | Su |
+------------------+-------+
1 riga in set (0.00 sec)
In questo caso, possiamo vedere che la funzione Safe_Mode è abilitata nella sessione.
Come risolvere "Codice di errore MySQL 1175"
Il modo migliore per risolvere questo tipo di errore è l'utilizzo di una clausola. Tuttavia, in alcuni casi, potremmo aver bisogno di eseguire un aggiornamento o eliminare senza alcuna condizione.
Per fare ciò, possiamo disabilitare la funzione Safe_Mode nella sessione, permettendoci di eseguire la query. Quindi, possiamo utilizzare il comando set seguito dal nome della variabile e dal valore che desideriamo impostare.
Ad esempio, per disabilitare Safe_Mode, impostiamo il valore della variabile SQL_SAFE_UPDASE a 0. La query è come mostrata:
Imposta sql_safe_updates = 0;
Per abilitarlo, impostare il valore su 1 come:
Imposta sql_safe_updates = 1;
In MySQL Workbench, è possibile disabilitare la funzione Safe_Mode navigando su modifica-> Preferenze -> Editor SQL
Disabilitato la funzione "aggiornamenti sicuri" e riavviato la sessione sul server.
Terminazione
Hai imparato la causa del "codice di errore MySQL 1175" in questo post quando si esegue le istruzioni di aggiornamento o elimina. Hai anche imparato a risolvere l'errore disabilitando la funzione MySQL Safe_Mode.