복붙노트

[SQL] SQLite는 유효 테이블 이름은 무엇입니까?

SQL

SQLite는 유효 테이블 이름은 무엇입니까?

SQLite는의 테이블 이름에 대한 문자의 조합은 유효 무엇입니까? 영숫자 (A-Z, Z 및 A-0-9)의 모든 조합이 유효한 이름을 구성하는?

Ex. CREATE TABLE 123abc(...);

"-"는 대시 영숫자의 조합에 대해 무엇을 "."와 기간, 그 유효뿐만 아니라 무엇입니까?

Ex. CREATE TABLE 123abc.txt(...);
Ex. CREATE TABLE 123abc-ABC.txt(...);

감사합니다.

해결법

  1. ==============================

    1.나는 그것에 대한 참조를 찾았지만하지 않은 숫자로 시작하지 않는 숫자 조합을해야 그들의 주위에 괄호를 사용하지 않고 유효 테이블 이름 :

    나는 그것에 대한 참조를 찾았지만하지 않은 숫자로 시작하지 않는 숫자 조합을해야 그들의 주위에 괄호를 사용하지 않고 유효 테이블 이름 :

    abc123 - valid
    123abc - not valid
    abc_123 - valid
    _123abc - valid
    abc-abc - not valid (looks like an expression)
    abc.abc - not valid (looks like a database.table notation)
    

    괄호를 사용하면 테이블 이름으로 거의 아무것도 사용할 수 있어야합니다 :

    [This should-be a_valid.table+name!?]
    
  2. ==============================

    2.이러한 프로그램은 모두 사용할 수 있습니다,하지만 당신은 ""그들을 인용 할 수 있습니다.

    이러한 프로그램은 모두 사용할 수 있습니다,하지만 당신은 ""그들을 인용 할 수 있습니다.

    sqlite> CREATE TABLE "123abc"(col);
    sqlite> CREATE TABLE "123abc.txt"(col);
    sqlite> CREATE TABLE "123abc-ABC.txt"(col);
    sqlite> select tbl_name from sqlite_master;
    123abc
    123abc.txt
    123abc-ABC.txt
    

    일반적으로,하지만 당신은 알파벳에 충실해야한다.

  3. ==============================

    3.테이블 만들기에 SQLite는 문서에서 금지 된 유일한 이름은 sqlite_로 시작하는 것들이다 :

    테이블 만들기에 SQLite는 문서에서 금지 된 유일한 이름은 sqlite_로 시작하는 것들이다 :

  4. ==============================

    4.SQLite는 사용자의 메일 링리스트에 클레멘스 별 :

    SQLite는 사용자의 메일 링리스트에 클레멘스 별 :

    모든 것이 "sqlite_"로 시작하는 이름을 제외하고 허용됩니다.

    CREATE TABLE "TABLE"("#!@""'☺\", "");
    

    당신은 키워드 ( "TABLE"), 특수 문자 ( ""#! @ "" '☺ \ "), 심지어 빈 문자열 (" ")를 사용할 수 있습니다.

  5. from https://stackoverflow.com/questions/3694276/what-are-valid-table-names-in-sqlite by cc-by-sa and MIT license