sql 문 주석처리방법

sql 문 주석처리방법

QA

sql 문 주석처리방법

본문

sql문의 주석처리는 아래 두가지 밥법중에( -- 와  /*) 어느것이 옳은 것입니까?

 

 

-- 호스트:                          a.com
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;

이 질문에 댓글 쓰기 :

답변 3

둘다 옳지 않을까요

저도 한줄은 -- 여러줄은 /* */ 

 

xml에선 /* */ 이걸 씁니다.





제가 질문을 드리게 된 것은


a.com 의 게시판을 mysqldump로 내려받아 
b.com 에 ssh 로 mysql로 올리는데 에러가 났습니다.



에러줄을 찾아가 보니 아래와 같은 주석처리된 것입니다.

/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;



이 주석줄을 지우고 다시 실행했더니 잘(?) 작동되었습니다.

드리는 질문은 이 주석내용이나 에러내용이 아니라
주석의 의미가 납득이 가지 않아서 입니다.



주석은 그 의미가 있어도 없어도 되는것으로 알고 있는데 
왜 주석줄에서 에러가 났는지 궁금해서 였습니다.

주석은 -- 만 허용됩니다.

따라서 님의 보여주신 주석은 해당 버전일때 실행하라는 의미로 보시면 됩니다.

 

따라서 님의 mysql 버전이 4.0.14 일 경우만 따로 실행하고 그렇지 않다면 삭제 해야 정상 작동합니다.

  님 의견 고맙습니다.
따로 실행된다는 의미가 조금 어렵습니다.

제 경우에 /* 로 된 주석이 여러줄인데 에러가 난 줄 하나만 삭제하니 실행이 되었습니다.
그렇다면 나머지 /*들은 주석이 아니라는 뜻인지요.

안녕하세요

제가 이해를 잘 못했었군요

 

주석문 자세히 보니 맨뒤에 세미콜론이 있는데

저것때문에 그런건 아닐까요~?

 

/* */ <<-- 주석처리가 됐다는 가정하에 보면

주석문 밖에 세미콜론 처진거니까요 ㅎㅎ



미안해서 어쩌나요. 계속 답변 주시는데...

말씀드린 sql 문에는 /* */; 주석이 여러개 인데 모두 뒤에 세미콜론이 붙어 있습니다.

 

말씀대로 -- 와 /* 둘다 주석같기는 합니다마는

해당 주석문 삭제하고 잘 처리 되었지만 에러가 궁금하기는 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,127 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT