[PostgreSQL Error] duplicate key value violates unique constraint
·
Error code 모음/1. SQL errors
에러 발생 이유 PostgreSQL 에서는 nextval( ) 등을 통해 primary key 를 생략한 채로 자동 시퀀스를 실행하다보면 primary key 자동으로 번호가 지정되는 경우가 있는데, 대게는 unique value 로 번호가 지정이 된다고 한다. 하지만, 데이터 복사 등의 데이터에 변경이 일어나는 모종의 이유로 시퀀스 객체와 테이블의 키 값에 차이가 생기는 경우가 종종 발생하는데, 이런 경우에는 primary key 를 생략한 채로 insert 를 할 경우에는 postgresql 에서 이를 인지하고 오류를 발생시킨다고 한다. ERROR: duplicate key value violates unique constraint "table_pkey" 해결방법 1. 오류가 난 테이블의 최대 키 값..
[Postgre SQL] column 이름 변경시 명령어
·
언어/데이터 베이스
컬럼 이름이 잘못되었을 때 변경하는 방법은 아래와 같다. ALTER TABLE [테이블명] RENAME COLUMN [ 현재컬럼명 ] TO [ 새로운컬럼명 ] ; # 아래처럼 변경해주면 된다 alter table refactory rename column data_type to table_type; 쉽게 테이블 이름을 변경할 수 있다.
[Postgre SQL] add column 여러개 추가시 명령어
·
언어/데이터 베이스
postgre sql 에서의 add column 을 여러가 추가하는 것은 오라클에 비해서는 좀 불편한 감이 있는 것 같다. # 여러개의 테이블을 한꺼번에 추가하기위해서는 # 아래와 같이 add column 을 여러번 해주어야 한다 alter table prj_unit add column sido varchar(256), add column sgg varchar(256), add column emd varchar(256), add column ri varchar(256); alter table [ 테이블 이름 ] add column [컬럼 1] [데이터 타입], add column [컬럼 2] [데이터 타입], add column [컬럼 3] [데이터 타입], ... 위와 같이 기입을 해주면 된다. 참고링..
[PostgreSQL] nextval( ) 생성 법 정리
·
언어/데이터 베이스
nextval( ) 이란? PostgreSql에서 시퀀스를 자동으로 생성시켜주는 function 이다. 생성하는 방법 postgresql 에서 nextval( ) 을 사용하기 위해서는 사전에 시퀀스를 먼저 생성해야 가능하다 CREATE SEQUENCE [시퀀스 이름] 그러고 난 후에 sequence 를 사용할 수 있다. 시퀀스를 insert, update 문등에 사용할 때는 # create 예시 create table [테이블 이름] (num_sequence int (default) nextval('생성한 시퀀스 이름') ... ... ); 주의할 사항 하지만 nextval 같은 경우에는 나의 기준에서는 아직까지는 사용하기가 은근히 까다로운 면이 있는 것 같다.. 특히 default 를 써주고 안 써주는..
postgre SQL 과 MySQL 차이점 블로그 저장
·
언어/데이터 베이스
Postgre 와 my 의 차이점과 관련하여 잘 정리한 블로그가 있어서 향후 참고를 위해 저장해 놓는다 참고 링크 https://yahwang.github.io/posts/mysql-vs-postgres MySQL과 PostgreSQL Query 차이점 정리 - YA-Hwang 기술 블로그 MySQL과 PostgreSQL Query의 차이점을 정리해본다. yahwang.github.io