가끔 SQL을 작성 할 때 해당 값이 있는 지를 먼저 조회 하고, SELECT * FROM table WHERE id = 1; 그 값이 존재 하지 않으면 데이터를 입력하고, INSERT INTO table (id, column) VALUES (1, 'value'); 그렇지 않은 경우 데이터를 갱신하는 방법을 사용하는 경우가 있다. UPDATE table SET column = 'value' WHERE id = 1; 이런 경우 mysql의 on duplicate key update 를 사용하면 한번에 처리 할 수 있다. INSERT INTO table (id, column) VALUES (1, 'value') ON DUPLICATE KEY UPDATE column = 'value' ;
FOREIGN KEY(외래키) 란?A 와 B라는 테이블이 존재 한다고 하면,A테이블의 어떤 KEY 를 참조 하여 B 테이블에서 사용하고자 할때 이 KEY를 Foreign key (외래키)라 할 수 있다. 예를 들어 이렇게 users 테이블 과 comments 테이블이 있다고 하면 users 테이블의 user_no 는 PK 즉 Primary Key (기본키) 이고, comments 테이블의 comment_no 는 PK 이며, user_no 를 FK 즉 Foreign key (외래키)로 사용하여 부모테이블인 users 의 user_no를 이용할 수 있다. 이렇게 외래키를 사용 하면 어떤 점이 좋을까? commnets 테이블에 user_no 는 users 테이블의 user_no에 존재 하지 않는 값은 들어 갈..