mysql 1062, 1175 오류 해결

기여·2025년 2월 10일
0

소소한 개발팁

목록 보기
103/103

mysql에서, 기존 users 테이블에 이미 레코드가 존재하는데, 아래 컬럼 추가하려고 한다.

uid, varchar(20), not null, UK

추가 시 아래 오류가 보였다.

Error Code: 1062. Duplicate entry '' for key 'users.uid'

새 컬럼 추가 전의 기존 레코드를 다 삭제 후 재시도하면 되나 싶어 'DELETE FROM users' 쿼리를 실행했으나 아래 오류가 또한 보였다.

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.

먼저 아래 쿼리를 실행해 임시로 Safe Mode 비활성화했다.

SET SQL_SAFE_UPDATES = 0;

그런 다음 기존 레코드 삭제 후 컬럼 추가해보니 정상 결과가 보였다.

DELETE FROM users;
ALTER TABLE users ADD COLUMN uid VARCHAR(20) NOT NULL UNIQUE;

다시는 Safe Mode 활성화~

SET SQL_SAFE_UPDATES = 1;
profile
기기 좋아하는 여자

0개의 댓글