본문 바로가기
  • 포르쉐타고싶다

database5

[MySQL] Forward Engineering 하는 도중 에러 해결 1. 배경 데이터베이스 서버를 옮기려고 기존 데이터베이스의 erd를 따서 새로운 MySQL서버에 Forward Engineering 을 하는데 자꾸 Executing SQL script in server ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VISIBLE, CONSTRAINT `fk_Compras_Personas` FOREIGN KEY (`p 라고하는 에러가 생겨 진행을 못하고 있었다. 2. 개념 위의 ERROR: Error 1064: You have an error i.. 2020. 5. 25.
[알고리즘] DATABASE에서 여러 테이블을 JOIN해서 가져온 데이터배열 중복 제거, 정리(2) 두가지 프로퍼티를 재정리하기위해 데이터를 가져오면 훨씬 더 많은 중복되는 객체들이 나온다. 왜냐하면 프로퍼티의 개수만큼 객체가 곱해서 나오기 때문이다. (디비에서 가져오는 배열 크기 = 묶고싶은 객체 한덩어리 x 프로퍼티1 개수 x 프로퍼티2 개수) 하지만 전 포스팅에서 소개했던 방식을 그대로 추가된 프로퍼티에 대해 한 번씩만 더 써주면 된다. 먼저 상황을 가정해보자 - 우리가 원하는 배열 : A [ { board_idx : 1, comment : "안녕하세요", tag : [ 1, 2 ], img_url : [ "http://aaaa.aaaaa.aaaaaa", "http://bbbb.bbbbb.bbbbbb", ] }, { board_idx : 2, comment : "안녕히계세요", tag : [ 3,.. 2020. 4. 2.
[MySQL] Insert 할 때 특정 컬럼만 select 보통의 INSERT문은 INSERT INTO [TABLE] (COLUMN1, COLUMN2, COLUMN3) VALUES (VALUE1, VALUE2, VALUE3) 의 형태로 사용된다. 하지만 본인은 쿼리문을 작성 중, 다른 테이블에서 어떠한 조건을 가진 레코드에 대해서, 해당 인덱스에 대해서만 다른 테이블에 그에 대한 정보를 insert해야할 일이 생겼다. 그리고 INSERT해야하는 값 중에는 다른테이블의 값이 아닌 일반 상수도 포함되어야 한다. 예를 들어, 학생들 중 점수가 90점이 넘은 학생들만 장학생 테이블에 추가한다고 해보자 먼저 학생 테이블 [STUDENT]를 보면 STUDENT_IDX STUDENT_NAME STUDENT_SCORE 1 철수 92 2 영희 87 3 민수 95 그리고 점수가 .. 2020. 3. 31.
[알고리즘] DATABASE에서 여러 테이블을 JOIN해서 가져온 데이터배열 중복 제거, 정리(1) 어느 어플이든 어느정도 진행이 나가고 나서부터는 database에서 한번을 깔끔한 데이터를 가져와 보기가 힘들다. 그 이유는 미래의 데이터의 확장성때문인데, 예를 들면, 가장 큰 예로 이미지가 있겠다. 페이스북 게시물을 보면 한 게시물에 여러개의 사진이 들어있다. 게시물의 내용과 이 사진의 데이터가 하나의 테이블에 존재하게 된다면 게시물 당 사진의 개수가 한정되어있어야하므로 유연성, 확장성이 극히 떨어지게 된다. 그래서 보통은 사진테이블과 게시물 테이블을 따로 두고 한 게시물에 대해서 게시물 테이블에서의 게시물 데이터와 사진 테이블에서 해당 게시물 사진 데이터들을 합쳐서(JOIN) 서버로 가져와야하는데 그렇게 되면 받아오는 배열의 결과는 우리가 원하는 한 게시물의 객체에 이미지배열이 프로퍼티로 들어가 있.. 2020. 3. 21.
[MySQL] ORDER BY에 여러가지 기준과 선순위/후순위가 있을 때 ORDER BY는 기본적으로 SELECT 한 결과물들을 어떻게 정렬할 것인가를 결정해준다 예를 들면 한 유저가 갖고있는 쿠폰목록을 가져오려고 할 때 더 나중에 추가된 쿠폰(최근 쿠폰)부터 차례로 정렬해서 가져오고 싶을 때 ORDER BY coupon_idx DESC // 더 나중에 추가된 쿠폰의 idx부터 내림차순으로(DESC)! 를 SELECT문에 덧붙여주면 된다. 실제 쿼리문을 보자 SELECT coupon_idx, coupon_title, coupon_detail // 가져오려는 칼럼 FROM coupon// 테이블명 : coupon WHERE user_idx = 3// user_idx 칼럼이 3인 쿠폰을 선별해라! ORDER BY coupon_idx DESC// coupon_idx가 큰 것부터 내.. 2020. 3. 3.