보통 MySQL에서 변수를 쓰려면 다음과 같이 하면 된다.

SET @yesterday := DATE_ADD(DATE(CURDATE()), INTERVAL -1 DAY);


또한 쿼리 내에서 직접 변수에 값을 담으려면 다음과 같이 하면 된다.

SELECT column
INTO @columnVar ...


이런식으로 쿼리만을 모아서 프로그램 짜듯이 procedure하게 짜나간 후 sql파일로 저장해서 사용한다.

여지껏 이렇게 만들어서 사용하고 있는데...
문제가 하나 생겼다
SELECT해온 컬럼값이 없을 경우 에러를 내 뱉으면서 다음 내용으로 넘어가질 않는 것이다.

MYSQL 문법을 뒤져서 겨우 겨우 찾아냈다.

SELECT @columnVar := column ...


이런식으로 하면 에러가 안나면서 변수에 값을 담을 수 있다.
신고

WRITTEN BY
체리필터
프로그램 그리고 인생...

받은 트랙백이 없고 , 댓글  2개가 달렸습니다.
  1. 지난번 스쿨에 올려주셨을 때, 저 문법이 가능한 버젼을 여쭤봤는데, 혹시 알고계시다면, 간단히 커멘트 부탁드립니다.
    mysql 메뉴얼이 좀 복잡하잖아여. ㅋㅋ
    번거롭더라도 스쿨에도 꼭 달아주시면 같이 도움이 될 것 같구요.
    가능하시다면, preparedstatment 와의 연계도 언급하셨는데, 마찬가지로 버젼정보를 부탁드릴께요.

    제가 너무 이기적인 거 같아서 죄송합니다. ^^;;
    꾸벅~!
    • 버전은 정확히 모르겠구요.
      4.1 버전에서 현재 사용중입니다.
      그리고 preparedstatment라는 것은 db 단에서 어떻게 처리되는지는 모르겠고 php api 중에 mysqli 과련 함수들이 있습니다.
      그것을 사용하면 전처리 작동을 하기 때문에 같은 쿼리에 대해서는 속도가 증가하는 것으로 알고 있습니다.
secret