탐구생활
close
프로필 배경
프로필 로고

탐구생활

  • Categories (166)
    • 웃짤 (3)
    • CSS & HTML (19)
    • Javascript (24)
    • PHP (31)
    • Python (2)
    • JSP (1)
    • Database (20)
    • Unity (3)
    • React (2)
    • Mobile (7)
      • iOS (3)
      • Android (4)
    • OS (23)
    • Study English (1)
    • Books (2)
    • ETC (16)
    • Memo (2)
    • Links (2)
    • And... (0)
    • Project (1)
    • 오늘의 무슨일이? (4)
[MySQL] 두 개의 테이블간에 업데이트 하기

[MySQL] 두 개의 테이블간에 업데이트 하기

두 개의 테이블 간에 필드 값 일괄 업데이트 하기 문제테이블 Table_A 와 Table_B 가 있다.Table_A 의 pk가 3이상인 행에서 필드 field_a 는 Table_B의 field_b 값으로 업데이트되어야 한다. 해결join 으로 해결 UPDATE Table_A as A left outer join Table_B as B ON A.pk = B.pk SET A.field_a = B.field_b WHERE A.pk >= 3 참고복잡한 구조인 경우 조인을 이용한 셀렉트문으로 각 필드가 정상적으로 조회 되는지 확인을 우선하고 시행한다. SELECT A.field_a, B.field_b FROM Table_A as A left outer join Table_B as B ON A.pk = B.pk W..

  • format_list_bulleted Database
  • · 2018. 11. 7.
  • textsms
잘못된 값 입력으로 인한 오류는 누구의 책임인가?

잘못된 값 입력으로 인한 오류는 누구의 책임인가?

회사 ERP 모듈 중에 요청된 날짜를 기준 해당 연도의 모든 직원들의 연차 사용 이력을 조회 하는것이 있다.ERP 기본 프로시져인지 아님 커스터마이징한 프로시져인지는 모르겠지만.입사일을 varchar(8) "20180101" 로 입력을 받고 조회시는 문자열을 날짜형으로 형변환해서 조회를 한다.잘 사용하던 모듈이 문자열을 날짜형으로 변환할 수 없다는 오류를 내뱉는다.이래 저래 확인 해보니 입사일 데이터 중 하나가 "2018010" 으로 마지막 숫자가 빠진 7자리가 입력되었다.물론 인사팀은 모르쇠로 기억이 없다고 하지만 말이다.그리고 이런 생각이 들었다.약속된 형식의 데이터는 입력되어야 하지만, 과연, 저 상황에서 substr 으로 해결 가능한 것을 굳이 형변환을 해야하는지?그리고 왜 입사일 데이터형을 문자..

  • format_list_bulleted Database
  • · 2018. 6. 6.
  • textsms
[MySQL] 특정 row(행)만 백업하기

[MySQL] 특정 row(행)만 백업하기

MySQL 백업시 특정 row(행 데이터)만 백업하는 쿼리문 mysqldump -u [유저명] -p [DB명] [테이블명] --default-character-set=utf8 --where=" pk in (1,2) " > [덤프파일경로] 옵션에 --where="[CONDITION]"을 추가하여 조건에 맞는 ROW만 백업이 가능하다. 다만 덤프파일에는 테이블 생성 쿼리문도 포함된다. charset 오류 발생시 --default-character-set=utf8 을 추가해서 백업한다.

  • format_list_bulleted Database
  • · 2018. 4. 27.
  • textsms

MSSQL datetime 자료형을 string으로 형변환

상황 : MSSQL 데이터베이스에서 PHP로 select 쿼리를 날렸는데 다른 놈들은 다 잘 오는데 datetime 이 아이만 팔다리 짤려서 돌아왔다.SQL : SELECT NO, NAME, REG_DATE FROM TABLERETURN : 1, 홍길동, 11 해결 : 이에 불쌍히 여겨 팔다리 붙여 줄려고 찾아 본니..."CONVERT"를 이용하면 된다.DATETIME 자료형은 CONVERT(CHAR(19), REG_DATE, 120) 으로 형변환 해야 한다.SQL : SELECT NO, NAME, CONVERT(CHAR(19), REG_DATE, 120) AS REG_DATE FROM TABLERETURN : 1, 홍길동, 2017-01-12 13:12:20 배움 : CONVERT 에서 숫자 상수의 의..

  • format_list_bulleted Database
  • · 2017. 11. 15.
  • textsms

mysql 복구

데이터베이스 운영 테크닉 데이터베이스를 운영하다 보면, 파일이 깨져 데이터베이스에 접속할 수 없거나 운영하는 게시판에 다음과 같은 에러 메시지가 뜨면서 게시물을 볼 수 없는 경우가 있다. MySQL 서버가 불의의 사고로 비정상적으로 종료되거나 쓰기 작업을 제대로 끝내지 못하면 이러한 증상이 발생할 수 있다: ERROR 1016: Can't open file: 'XXXX.MYD'. (errno: 145) 이러한 사고를 대처하기 위해 가장 좋은 방법은 미연에 백업을 수시로 해 두고 데이터베이스 에러 체크를 통해 깨진 파일을 빠르게 복구해 두는 것이다. 미리 백업해 놓으면 깨진 파일들을 날려도 백업 파일로 복구할 수 있지만, 예상하지 못한 사고는 항상 발생하는 법. 이럴 경우 깨진 파일을 다시 복구하는 방법에..

  • format_list_bulleted Database
  • · 2016. 6. 14.
  • textsms

Mysql 에서 HTML 태그 삭제 함수(strip_tags)

Mysql 에서 HTML 태그 삭제 함수(strip_tags) delimiter || DROP FUNCTION IF EXISTS strip_tags|| CREATE FUNCTION strip_tags( x longtext) RETURNS longtext LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE sstart INT UNSIGNED; DECLARE ends INT UNSIGNED; IF x IS NOT NULL THEN SET sstart = LOCATE('', x, sstart); SET x = CONCAT(SUBSTRING( x, 1 ,sstart -1) ,SUBSTRING(x, ends +1 )) ; SET sstart = LOCATE(..

  • format_list_bulleted Database
  • · 2015. 3. 12.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • Categories (166)
    • 웃짤 (3)
    • CSS & HTML (19)
    • Javascript (24)
    • PHP (31)
    • Python (2)
    • JSP (1)
    • Database (20)
    • Unity (3)
    • React (2)
    • Mobile (7)
      • iOS (3)
      • Android (4)
    • OS (23)
    • Study English (1)
    • Books (2)
    • ETC (16)
    • Memo (2)
    • Links (2)
    • And... (0)
    • Project (1)
    • 오늘의 무슨일이? (4)
최근 글
인기 글
최근 댓글
태그
  • #함수
  • #mysql
  • #js
  • #php
  • #백업
  • #HTML
  • #mssql
  • #JQuery
  • #Javascript
  • #CSS
전체 방문자
오늘
어제
전체
Copyright © 탐구 생활 All rights reserved.
Designed by JJuum

티스토리툴바