728x90 반응형 백엔드16 [TIL] 10/15 MySQL 데이터 삭제-DELETE/DROP/TRUNCATE, 주문하기 API 1. MySQL 데이터 삭제하기 1.1. DELETE 조건을 걸어주지 않으면 모든 행 삭제 -> 모든 행이 삭제되어도 테이블은 남아있음 DELETE FROM 테이블명; 조건을 걸어주면 해당 조건에 해당하는 행 삭제DELETE FROM 테이블명 WHERE 조건; 1.2. DROP 테이블을 통째로 삭제DROP TABLE 테이블명; 1.3. TRUNCATE 모든 행이 삭제됨 -> 테이블은 남아있음 TRUNCATE 테이블명; 1.4. DELETE vs TRUNCATE DELETE 와 TRUNCATE 는 모든 행을 삭제할 때 둘 다 테이블이 남아있다. 그렇다면 무슨 차이가 있을까? DELETE 는 AUTO_INCREMENT 를 걸어놓은 열이 있을 때,모든 데이터를 지웠어도 AUTO_INCREMENT 기록은 .. 2024. 10. 15. [TIL] 10/14 Node.js 비동기 처리 - Promise, async, await, then, query 1. Node.js 비동기 처리 방식 - 비동기 발생실행되는 코드가 기다려야하는 시간이 생긴다는 의미(이전 작업이 오래 걸리면 기다려주지 않고 다음 코드를 무작정 실행) ex) setTimeOut(), setInterval(), query() ... - 비동기 처리이전 작업의 시간을 다 기다려서 순서를 맞춰서 코드를 실행 1. 콜백 함수: 할 일 다하고, 콜백함수 실행 (= 순서 맞춰서 뒤에 실행)2. promise (resolve, reject)3. then & catch4. ES2017 promise => async & await 1.1. Promiselet promise = new Promise(function(resolve, reject) { // ...}); Promise 는 resol.. 2024. 10. 14. [TIL] 10/11 주문 기능 구현 1. 주문 기능 구현 1.1. 결제(주문) API - 결제하기 = 주문하기 = 주문등록 = 데이터베이스 주문 INSERT items -> 결제할 도서가 담겨있는 배열delivery -> 입력받은 주소/이름/연락처 firstBookTitle -> 주문 목록 상세 조회 화면에서 보여줄 대표 책 제목(구매한 책이 여러 권일 때 대표책 제목만 보여주기 위해)MethodPOSTURI/ordersHTTP status code성공 200Request Body{ items: [ { cartItemId: 장바구니 도서 id, bookId: 도서 id, quantity: 수량 }, { cartItemId: 장바구니 도서 id, .. 2024. 10. 11. [TIL] 10/10 장바구니 기능 구현, SQL 에러 1. SQL 에러 1.1. ERROR 1005: Can't create table `book-shop`.`new_table` (errno: 121 "Duplicate key on write or update") 새롭게 만든 cartItems 테이블에 FK 제약 조건을 설정해주려고 했는데 에러가 났다.이 에러는 이미 존재하는 제약조건의 이름을 또 사용하려고 했을 때 발생하는 에러이기 때문에, 제약 조건의 이름을 바꿔주면 에러가 나지 않는다. 이런 에러를 방지하기 위해 제약조건의 이름도 규칙에 따라 지을 수 있다. fk_기준 테이블명_참조테이블명_참조키 앞에 fk 제약 조건을 표시하기 위해 fk 를 붙이고, 기준 테이블명 참조테이블명을 차례로 써 준 뒤에 참조하는 키의 컬럼명을 써주면 된다. 예시를 들어.. 2024. 10. 10. 이전 1 2 3 4 다음 728x90 반응형