2011-03-02 10 views
0

MySQL이 설치된 경우 설치하는 WPF 응용 프로그램에서 작업 중이므로 설치 전에 mysql.proc 테이블이 있는지 여부를 확인하고 싶습니다. 나는 그것에 대해 인터넷 검색 및 쿼리테이블 mysql.proc가 있는지 확인하려면 어떻게해야합니까

select * from information_schema.Tables 
    where Table_schema = Schema() and Table_Name = 'mysql.proc' 

이 쿼리는 빈 행을 반환으로 돌아가 셨습니다.

는 또한 간단한 select 문을 select * from mysql.proc, 을 시도하고이 모든 저장 프로 시저의 이름 테이블을 반환하지만,이 표는하지 않았다 경우 다음은 C# 코드에서 예외를 throw 존재한다.

그렇다면 C#에서 쿼리를 실행하고 mysql.proc 테이블의 존재 여부에 따라 부울 값을 얻을 수있는 방법이 있습니까?

답변

1

시도 SHOW TABLES FROM mysql LIKE 'proc'. 결과 행이 없으면 테이블이 존재하지 않습니다. 하나의 행이 있으면 표가 존재합니다. 이 접근법은 RDBMS를 통해 이식 할 수는 없지만 사용자의 관심사는 아닙니다.

첫 번째 쿼리의 경우 SCHEMA()은 기본 데이터베이스를 반환하므로 "mysql"이 아닌 경우 쿼리가 실패합니다. 마찬가지로 Table_Name 열의 데이터에는 데이터베이스 이름이 포함되지 않으므로 'mysql.proc'과 비교하면 항상 실패합니다.

관련 문제