query
-
nodejs 시퀄라이즈 where절에 or사용하기NULL STACK 2019. 5. 15. 17:29
node 시퀄라이즈 사용중 where절에서 or사용하기 where절에서 원하는 조건을 쓰다가 or절이 필요할 때 Sequelize.Op.or로 적어주면 괄호로 연산한다음 다른 조건과 AND로 처리해 준다. return this.findAll({ attributes: [ items, names, num, ], where: { items, [Sequelize.Op.or]: [{ names: 1, }, { num: 1, }], }, });
-
mysql insert시 중복값 처리 두가지 (중복시 업데이트)NULL STACK 2019. 4. 26. 10:22
1. PK가 있을 경우 ( ON DUPLICATE KEY UPDATE ) (insert sql) + ON DUPLICATE KEY UPDATE + 컬럼명1 = ?, 컬럼명2=?; id : PK 해당 PK가 테이블에 있을때 변경을 원하는 컬럼을 뒤에 나열해준다. 테이블에 PK가 없으면 앞의 데이터를 넣어주는듯. sql = 'insert into table01 (`id`,`name`,`age`) values ( ?, ?, ? ) ON DUPLICATE KEY UPDATE name = ?, age = ? '; 2. PK가 없을 경우 ( NOT EXISTS ) 해당 데이터가 없으면 데이터를 입력해준다. sql = 'INSERT INTO likes(id,name) SELECT ?, ? FROM DUAL WHERE..
-
mysql 중복데이터 제거하기NULL STACK 2018. 9. 4. 11:13
1. 중복된 데이터를 모두 보여주는 쿼리 select * from 테이블명 A, (select * from 테이블명 GROUP by 중복데이터가있는컬럼명 (a.k.a. 컬럼명) having count(컬럼명)>2) B where A.컬럼명 = B.컬럼명; 2. 중복된 데이터를 삭제하는 쿼리 (데이터가 하나 남는다.) delete from 테이블명 where 고유값컬럼명 not in ( select 고유값컬럼명 from ( select 고유값컬럼명 from 테이블명 group by `중복데이터가있는컬럼명`) as 고유값컬럼명);
-
디비테이블에 있는 정보인지 확인하기NULL STACK 2018. 8. 27. 14:01
php에서 디비에 있는 데이터를 배열로 저장하여 배열안에 값이 있는지 확인 하려다가.. 쿼리에서 아예 데이터가 있는지 확인하는걸로 바꿈. 두개 테이블 조인해서 검색후, 결과를 1 또는 0으로 받음. $sql = "select EXISTS (select * from first A inner join second B on A.`one`=B.`one` where two='".$member['two']."' and A.one='".$one."') as success;"; $res = sql_query($sql); $row = sql_fetch_array($res); if($row['success'] == 0){ alert("없음"); }