C코드에서 MySQL DB유무를 체크할려면 어떻게 해야될까요?
SELECT를 이용해서 알아보는 방법도 있던 것 같은데 기억이 안나네요..
SHOW DATABASES LIKE '검사할DB명'
라고 쿼리하시면 됩니다. root 권한으로 검사해야되고요. WHERE절에서처럼 %, _ 같은 와일드카드 문자 사용가능합니다.
그런식으로 확인한다면. 디비가 있던없던 언제나 TRUE 값 아닌가요.?
DB 없으면 아무것도 반환하지 않습니다. 빈레코드셋이죠.. SELECT 하는것과 같습니다.
쿼리가 아닌 API수준으로 해결하고자 한다면 mysql_list_dbs()라는 함수가 있습니다. show databases 쿼리의 함수 구현판 정도로 보면 될거 같습니다.
첫번째 인자는 핸들러의 포인터이고 두번째 인자는 와일드 캐릭터입니다. "%"를 주면 전체 DB명을 긁어오는데 갯수는 mysql_num_rows()로 체크하고 그 횟수만큼 루프를 돌면서 mysql_fetch_rows()로 하나하나 가져오면 됩니다.
다음 링크를 참조하시길...
http://www.mysql.com/doc/en/Clients.html
이거 다 읽어보시면 아마 API쪽으론 질문 하실 일 없으실 겁니다..^^;
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
show databases like 'DB_NAME';
이렇게 쿼리를 한다면 있을경우는 뭘 반환하죠?
없을경우에는 아무것도 반환하지 않는다구요..
그리구영 반환이 있다면 그 값을 어떻게 가져올것인지 ㅡ.,ㅡ;
C에서 하신다면 마찬가지로 위의 링크를 참조하셔야 될겁니다. 쿼리를 날리는 함수도 있고, 받아오는 함수도 있으니까요(받아오는 것은 위랑 유사합니다).
show databases like 'DB_NAME'; 이렇게 쿼리를 한다면 있을경우는 뭘 반환하죠? 없을경우에는 아무것도 반환하지 않는다구요.. 그리구영 반환이 있다면 그 값을 어떻게 가져올것인지 ㅡ.,ㅡ;
직접해보시면 아실텐데, 해당 db명이 나옵니다.
abc db를 찾을꺼면 'abc' 로 검색해서 mysql_num_rows () > 0 이면 abc가 검색된거죠..
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
db check
SELECT를 이용해서 알아보는 방법도 있던 것 같은데 기억이 안나네요..
SHOW DATABASES LIKE '검사할DB명'
라고 쿼리하시면 됩니다. root 권한으로 검사해야되고요.
WHERE절에서처럼 %, _ 같은 와일드카드 문자 사용가능합니다.
그런식으로 확인한다면. 디비가 있던없던 언제나 TRUE 값 아닌가요.?
그런식으로 확인한다면. 디비가 있던없던 언제나 TRUE 값 아닌가요.?
[quote="gilsion"]그런식으로 확인한다면. 디비가 있던없던 언
DB 없으면 아무것도 반환하지 않습니다.
빈레코드셋이죠.. SELECT 하는것과 같습니다.
쿼리가 아닌 API수준으로 해결하고자 한다면 mysql_list_dbs(
쿼리가 아닌 API수준으로 해결하고자 한다면 mysql_list_dbs()라는 함수가 있습니다.
show databases 쿼리의 함수 구현판 정도로 보면 될거 같습니다.
첫번째 인자는 핸들러의 포인터이고 두번째 인자는 와일드 캐릭터입니다. "%"를 주면 전체 DB명을 긁어오는데 갯수는 mysql_num_rows()로 체크하고 그 횟수만큼 루프를 돌면서 mysql_fetch_rows()로 하나하나 가져오면 됩니다.
다음 링크를 참조하시길...
http://www.mysql.com/doc/en/Clients.html
이거 다 읽어보시면 아마 API쪽으론 질문 하실 일 없으실 겁니다..^^;
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
흠 그럼 어떻게 체크하는게 좋을까요?
show databases like 'DB_NAME';
이렇게 쿼리를 한다면 있을경우는 뭘 반환하죠?
없을경우에는 아무것도 반환하지 않는다구요..
그리구영 반환이 있다면 그 값을 어떻게 가져올것인지 ㅡ.,ㅡ;
C에서 하신다면 마찬가지로 위의 링크를 참조하셔야 될겁니다. 쿼리를
C에서 하신다면 마찬가지로 위의 링크를 참조하셔야 될겁니다.
쿼리를 날리는 함수도 있고, 받아오는 함수도 있으니까요(받아오는 것은 위랑 유사합니다).
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
Re: 흠 그럼 어떻게 체크하는게 좋을까요?
직접해보시면 아실텐데, 해당 db명이 나옵니다.
abc db를 찾을꺼면 'abc' 로 검색해서 mysql_num_rows () > 0 이면 abc가 검색된거죠..
댓글 달기