1
나는 JavaDB에서는 (더비)를 사용하여 테이블을 만들려고 해요,하지만 난 추가하려고하면하지가 존재하는 경우 :JavaDB - 존재하지 않는 테이블 만들기 - 방법?
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "NOT" at line 1, column 17.
내가가 작동 기억으로 :
CREATE TABLE IF NOT EXISTS etc (ID BIGINT PRIMARY KEY, title VARCHAR(150))
나는 오류를 얻을 MySQL. 테이블이 있는지 확인하는 구문/가장 간단한 방법은 무엇입니까?
편집 : 마지막으로 나는 해결책을 발견
:
DatabaseMetaData dbmd = conn.getMetaData();
ResultSet rs = dbmd.getTables(null, "APP", "ETC", null);
if (rs.next()) {
System.out.println("Table " + rs.getString(3) + " exists");
}
난 그 테이블 이름을 발견은 따옴표 "등"을 사용하여 생성 된 경우 대소 문자를 구분하고, 그렇지 않은 경우 - 이름 대문자 여야합니다. API 문서에 따르면 : "데이터베이스에 저장된 테이블 이름과 일치해야합니다".
감사합니다. 그러나 내 sysobjects 테이블이 없습니다. 표 목록 : SYSCONGLOMERATES SYSTABLES SYSCOLUMNS SYSSCHEMAS 있으며 sysconstraints SYSKEYS sysdepends가 SYSALIASES SYSVIEWS SYSCHECKS SYSFOREIGNKEYS SYSSTATEMENTS SYSFILES SYSTRIGGERS sysstatistics의 SYSDUMMY1 SYSTABLEPERMS SYSCOLPERMS SYSROUTINEPERMS SYSROLES SYSSEQUENCES SYSPERMS. 여전히 erorr을 얻으십시오 .. –
'sysobjects'를'systables'로 대체 해 보셨습니까? – ClaireG
이 링크를 사용해보십시오. 첫 번째 select 문을 대체 할 수있는 유용한 것들이 있습니다. http://stackoverflow.com/questions/205736/get-list-of-all-tables-in-oracle – ClaireG