MySQL에서 업데이트하는 동안 MySQL 오류 코드 1175

Mysqleseo Eobdeiteuhaneun Dong An Mysql Olyu Kodeu 1175



'MySQL 데이터베이스로 작업할 때 UPDATE 또는 DELETE 명령을 수행할 때 트리거되는 '오류 코드 1175'가 발생할 수 있습니다.'

이 게시물에서는 이 오류의 원인과 MySQL 서버를 사용하여 해결하는 방법에 대해 설명합니다.







'MySQL 오류 코드 1175'의 원인은 무엇입니까?

WHERE 절을 사용하지 않고 UPDATE 또는 DELETE 작업을 수행할 때 'MySQL 오류 코드 1175'가 발생합니다.



기본적으로 MySQL은 WHERE 절 없이 UPDATE 또는 DELETE 문을 실행하지 못하도록 하는 safe_mode라는 기능을 사용합니다. 이렇게 하면 대상에서 우발적인 데이터 손실을 방지할 수 있습니다.



따라서 safe_mode 기능이 활성화되면 MySQL은 WHERE 절을 포함하지 않는 DELETE 또는 UPDATE 작업에서 오류 코드 1175를 반환합니다.





예가 아래에 나와 있습니다.

업데이트 sakila.film 세트 제목 = '새 제목' ;



이 경우 대상으로 지정할 행을 지정하지 않고 제목 열의 값을 변경하려고 합니다. 이로 인해 전체 테이블을 지정된 값으로 덮어쓸 수 있습니다. 따라서 MySQL은 이를 방지하고 다음과 같이 오류를 반환합니다.

MySQL은 Safe_Mode가 활성화되어 있는지 확인합니다.

safe_mode 기능의 상태는 sql_safe_updates 변수에 저장됩니다. 따라서 이 변수의 값을 가져와서 safe_mode 기능이 활성화되었는지 여부를 결정할 수 있습니다.

쿼리는 다음과 같습니다.

다음과 같은 변수 표시 'sql_safe_updates' ;

쿼리는 다음과 같은 상태를 반환해야 합니다.

+------------------+-------+
| 변수명 | |
+------------------+-------+
| sql_safe_updates | 켜짐 |
+------------------+-------+
1 안에 세트 ( 0.00 비서 )

이 경우 세션에서 safe_mode 기능이 활성화된 것을 볼 수 있습니다.

'MySQL 오류 코드 1175'를 해결하는 방법

이러한 유형의 오류를 해결하는 가장 좋은 방법은 WHERE 절을 사용하는 것입니다. 그러나 어떤 경우에는 조건 없이 UPDATE 또는 DELETE를 수행해야 할 수도 있습니다.

이를 위해 세션에서 safe_mode 기능을 비활성화하여 쿼리를 실행할 수 있습니다. 그런 다음 SET 명령 뒤에 변수 이름과 설정하려는 값을 사용할 수 있습니다.

예를 들어 safe_mode를 비활성화하려면 sql_safe_updates 변수의 값을 0으로 설정합니다. 쿼리는 다음과 같습니다.

SET SQL_SAFE_UPDATES = 0 ;

활성화하려면 다음과 같이 값을 1로 설정합니다.

SET SQL_SAFE_UPDATES = 1 ;

MySQL Workbench에서 편집 -> 환경 설정 -> SQL 편집기로 이동하여 안전 모드 기능을 비활성화할 수 있습니다.

'안전한 업데이트' 기능을 비활성화하고 서버에 대한 세션을 다시 시작했습니다.

종료

이 게시물에서 UPDATE 또는 DELETE 문을 수행할 때 'MySQL 오류 코드 1175'의 원인을 배웠습니다. 또한 MySQL safe_mode 기능을 비활성화하여 오류를 해결하는 방법을 배웠습니다.