본문 바로가기

Database/Mariadb

[Mariadb] 새로운 INSERT 방법(INSERT INTO SET)

728x90
반응형

 

우리가 익히 알고 있는 INSERT 방식은 insert into <테이블> (컬럼명들) values (컬럼값들) 로 현재 모든 DBMS에서 사용되고 있다.

하지만 테이블의 컬럼이 30개정도가 넘어가면 컬럼명과 컬럼값의 매핑이 어려울 때가 존재한다. (실제 프로젝트에서 한 테이블에 컬럼개수가 200개가 넘어가는 것을 경험한 적이 있다.)

이 문제를 해결하기 위해 mariadb 에서는 update set 문법과 비슷한 insert into set 문법을 개발하고 제공한 것으로 추정된다.

INSERT SET 예제

/* dummy_table 테이블에 insert into set 를 이용한 데이터삽입 쿼리 예제 */
insert into dummy_table
   set
       no = 1
     , title = '제목'
     , memo = null
     , create_dt = current_timestamp
     , update_dt = current_timestamp

 

예제를 보면 확실히 insert into values 방식보다 가독성이 좋을 것을 확인 할 수 있다.

단점은 ANSI-SQL이 아니기 때문에 다른 DBMS 에서 사용이 불가능하다는 점이다. (Postgresql 14에서 지원이 안되는 것을 확인)

다양한 DBMS을 지원하는 어플리케이션에서는 INSERT INTO SET 를 권장하지 않지만 mariadb만 사용하는 어플리케이션은 INSERT INTO SET를 사용하는 것이 좋은 선택인 것 같다.

mariadb insert 문법 공식사이트 : https://mariadb.com/kb/en/insert/

 

728x90
반응형