본문 바로가기

Database3

You can't specify target table '테이블명' for update in FROM clause 오류 해결 방법 에러 You can't specify target table 'app_close_order_sorting' for update in FROM clause UPDATE user SET name = 'siha' WHERE age = ( (SELECT age FROM user WHERE study = "SQL") ); 원인 MySQL은 UPDATE, DELETE시 자기 테이블의 값을 바로 사용할 수 없다. 따라서 테이블에 alias 붙여서 다른 테이블에서 불러오는 것처럼 만들어주고 서브쿼리를 한번더 ()로 감싸줌 해결방법 UPDATE user SET name = 'siha' WHERE age = ( SELLECT a.age FROM (SELECT a.age FROM user a WHERE a.study = ".. 2023. 1. 18.
Session을 MongoDB에 저장하기 📓 Session을 DB에 저장하는 이유? 세션이 메모리에 저장되는데 실제 서버의 경우 수천, 수십 만명의 사용자가 있는 상황에서 그 모든 정보를 메모리에 저장한다면 메모리가 빠르게 오버플로우되는 문제가 발생할 수 있음 ❣️ 1. 패키지 설치 express 세션 readme 에서 세션 스토어 목록을 확인한 뒤 사용할 DB에 따라 맞는 패키지 설치 npm install -save connect-mongodb-session ❣️ 2. app.js /* DB */ const mongoose = require('mongoose'); const User = require('./models/user'); const MONGODB_URI = process.env.mongodb_URI; /* session */ con.. 2022. 10. 13.
MongoDB 클러스터 생성 및 서버와 연결하기 오늘은 MongoDB의 기본! 클러스트를 생성하고, 서버와 연결하는 과정을 정리해보았다. 먼저, MongoDB페이지로 들어간다. ❣️ 1. 새로운 클러스트를 구축 할 수있는 페이지 열기 ❣️ 2. 지역 한국으로 선택! ❣️ 3. 클러스트 tier 선택 → 나는 무료버전으로 진행! ❣️ 4. 클러스트 네임 지정 ❣️ 5. Security → Database Access → Database Users 에서 사용자 만들어서 read and write 권한 부여해주기→ atlas로 설정해줘도 되지만 읽고쓰는 권한이 더 현실적임 Node가 나중에 DB 읽고 쓸 수는 있지만 관리할 권한은 없는 것으로 간주하도록 역할을 설정해 줘야하고, node를 통해 데이터베이스 관리를 진행하지는 않을 것이기 때문이다 ❣️ 6. .. 2022. 10. 11.