SQL 2

[MySQL] 데이터 중복 삽입 방지하기

데이터 삽입 시 필요에 따라 중복 삽입을 방지해줘야 하는 경우가 있다. 지금 수행하고 있는 프로젝트에서 해당 문제에 직면했고, 어떤 방법을 적용하는 것이 좋을지 궁금해서 찾아봤다. FROM DUAL NOT EXISTS INSERT INTO User (userEmail, userPassword) SELECT ?, ? FROM DUAL WHERE NOT EXISTS (SELECT * FROM user WHERE userEmail = "a@a.com", userPassword = 1234); User 테이블에 해당 이메일과 패스워드를 가진 행이 없을 경우에 삽입해준다. INSERT IGNORE INSERT IGNORE INTO User (userEmail, userPassword) VALUES ("a@a.co..

[서버/Server] 백엔드 틀 잡기 3/5 - DBMS

3주차 수업은 DBMS에 관한 내용이었다. 개인적으로 2학년 데이터베이스 수업을 절어서(?) 잘 모르기도 하고, 꼭 한 번 제대로 파보고 싶었다. 해피 서버와 드림 서버 1주차에는 단순히 로컬에 서버를 구축했고, 2주차에는 클라이언트와 서버를 분리했다. 이번 3주차의 핵심은 서버단에서 DBMS와 DB를 분리하는 것이다. 초등학생 때 매일같이 했던 크레이지아케이드 게임에는 해피 서버와 드림 서버가 있다. 해피 서버 사용자와 드림 서버 사용자는 서로 만날 수가 없다. 어떤 로직 때문에 이렇게 됐을까? Server program + Back-end Language + DBMS 서버단에 대한 설명에서 Server program / Back-end Language / DBMS 세 파트를 통틀어서 서버라고 불렀다...