tablr 구조는create table spdb.simplemember(
no int auto_increment NOT NULL primary key,
id varchar(40) NOT NULL,
passwd varchar(20) NOT NULL,
name varchar(50) NOT NULL,
gender varchar(10) NOT NULL,
regdate varchar(50) NOT NULL
)engine=innoDB default character set=utf8;
같이 생성 하였고
insert into simplemember(id, passwd, name, gender, regdate)
values('adminid', 'asdf123', '관리자', '남성', '2020/01/01');
라는 샘플 데이터를 입력 해놓았다.
그리고 해당 샘플데이터에 대한
passwd 컬럼의 값을 udpate하기 위해
update simplemember set passwd='new1234'
where id='adminid';
쿼리로 update를 시도 하였는데 아래와 같은 Error가 발생하였다.
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
와 같은 에러가 발생
테이블에서 키값을 이용한 update나 delete만을 허용하도록 되어 있는데, 그렇지 않게 좀더 넓은 범위의 sql을 적용하려고 할때 workbench에서 경고를 주는것임.
즉 하나의 레코드만을 update, delete하도록 설정되어 있는데, 다수의 레코드를 update나 delete하는 sql명령어가 실행되기 때문에 발생을 하는 것임.
아래와 같은 sql로 환경변수를 변경해준다. (일시적인 Safe모드 해제)
set sql_safe_updates=0;
Workbench Preferences에서 안전모드(Safe mode)를 해제한다.
아래의 그림에 있는 부분에서 체크를 해제한후에 다시 workbench를 시작한다.
(이렇게 하면 항상 Safe모드가 해제된 상태임)
위와 같이 설정하여
update simplemember set passwd='new1234'
where id='adminid';
쿼리에 대한 에러 해결(그리고 passwd 컬럼 값 update 완료)
참고url
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kkson50&logNo=221251167091
'Errors' 카테고리의 다른 글
23.03.08 git upload error 해결 (0) | 2023.03.09 |
---|---|
23.02.28 에러[Tomcat 에러] 요청 타겟에서 유효하지 않은 문자 (0) | 2023.03.01 |
23.02.15 HTML 주석문과 JSP 주석문 에 따른 Error (0) | 2023.02.15 |
23.02.14 Requesting JavaScript AST from selection-이클립스 오류 해결 (0) | 2023.02.14 |
23.02.09 textarea 줄바꿈 안되는 문제해결 (0) | 2023.02.09 |